Skip to content
Snippets Groups Projects
Commit 4d8c7cd6 authored by bow's avatar bow
Browse files

Merge branch 'feature-dirty_warns' into 'develop'

Feature dirty warns

See #75

See merge request !38
parents 4cf04751 e1ae0698
No related branches found
No related tags found
No related merge requests found
package nl.lumc.sasc.biopet.core
import java.util.Properties
import org.apache.log4j.Logger
object BiopetExecutable {
object BiopetExecutable extends Logging {
val modules: Map[String, List[MainCommand]] = Map(
"pipeline" -> List(
......@@ -108,4 +109,17 @@ object BiopetExecutable {
prop.load(getClass.getClassLoader.getResourceAsStream("git.properties"))
prop.getProperty("git.commit.id.abbrev")
}
def checkDirtyBuild(logger: Logger) {
val prop = new Properties()
prop.load(getClass.getClassLoader.getResourceAsStream("git.properties"))
val describeShort = prop.getProperty("git.commit.id.describe-short")
if (describeShort.endsWith("-dirty")) {
logger.warn("**********************************************************")
logger.warn("* This JAR was built while there are uncommited changes. *")
logger.warn("* Reproducible results are *not* guaranteed. *")
logger.warn("**********************************************************")
}
}
checkDirtyBuild(logger)
}
package nl.lumc.sasc.biopet.core
import java.text.SimpleDateFormat
import java.util.Calendar
import org.apache.log4j.Logger
import org.apache.log4j.WriterAppender
import org.apache.log4j.helpers.DateLayout
trait Logging {
protected val logger = Logger.getLogger(getClass.getSimpleName.split("\\$").last)
private[core] val logLayout = new DateLayout() {
val ignoresThrowable = false
def format(event: org.apache.log4j.spi.LoggingEvent): String = {
val calendar: Calendar = Calendar.getInstance
calendar.setTimeInMillis(event.getTimeStamp)
val formatter: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
val formattedDate: String = formatter.format(calendar.getTime)
var logLevel = event.getLevel.toString
while (logLevel.size < 6) logLevel += " "
logLevel + " [" + formattedDate + "] [" + event.getLoggerName + "] " + event.getMessage + "\n"
}
}
private[core] val stderrAppender = new WriterAppender(logLayout, sys.process.stderr)
logger.setLevel(org.apache.log4j.Level.INFO)
logger.addAppender(stderrAppender)
}
package nl.lumc.sasc.biopet.core
import org.broadinstitute.gatk.queue.util.Logging
import org.broadinstitute.gatk.queue.util.{ Logging => GatkLogging }
trait PipelineCommand extends MainCommand with Logging {
trait PipelineCommand extends MainCommand with GatkLogging {
def pipeline = "/" + getClass.getName.stripSuffix("$").replaceAll("\\.", "/") + ".class"
......
package nl.lumc.sasc.biopet.core
import java.text.SimpleDateFormat
import java.util.Calendar
import org.apache.log4j.Logger
import org.apache.log4j.WriterAppender
import org.apache.log4j.helpers.DateLayout
import org.apache.log4j.spi.LoggingEvent
import java.io.File
trait ToolCommand extends MainCommand {
trait ToolCommand extends MainCommand with Logging {
abstract class AbstractArgs {
}
......@@ -45,22 +40,4 @@ trait ToolCommand extends MainCommand {
type Args <: AbstractArgs
type OptParser <: AbstractOptParser
protected val logger = Logger.getLogger(commandName)
private val logLayout = new DateLayout() {
val ignoresThrowable = false
def format(event: org.apache.log4j.spi.LoggingEvent): String = {
val calendar: Calendar = Calendar.getInstance
calendar.setTimeInMillis(event.getTimeStamp)
val formatter: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
val formattedDate: String = formatter.format(calendar.getTime)
var logLevel = event.getLevel.toString
while (logLevel.size < 6) logLevel += " "
logLevel + " [" + formattedDate + "] [" + event.getLoggerName + "] " + event.getMessage + "\n"
}
}
private val stderrAppender = new WriterAppender(logLayout, sys.process.stderr)
logger.setLevel(org.apache.log4j.Level.INFO)
logger.addAppender(stderrAppender)
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment