GithubHelp home page GithubHelp logo

halite's Introduction

halite

Maven Central Maven Central (snapshot) Codecov

com.io7m.halite

JVM Platform Status
OpenJDK (Temurin) Current Linux Build (OpenJDK (Temurin) Current, Linux)
OpenJDK (Temurin) LTS Linux Build (OpenJDK (Temurin) LTS, Linux)
OpenJDK (Temurin) Current Windows Build (OpenJDK (Temurin) Current, Windows)
OpenJDK (Temurin) LTS Windows Build (OpenJDK (Temurin) LTS, Windows)

Usage

The plugin is designed to be used on the command line without any POM configuration. The plugin currently contains a single goal: crystallize. Due to limitations in Maven, the crystallize goal MUST be executed after the Maven package phase, in the same execution:

$ mvn package com.io7m.halite:com.io7m.halite.maven.plugin:0.0.1:crystallize

The crystallize goal copies all of the compile and runtime dependencies and artifacts of the current project to a specified directory. The outputDirectory parameter specifies the output directory:

$ mvn package com.io7m.halite:com.io7m.halite.maven.plugin:0.0.1:crystallize \
  -Dhalite.outputDirectory=/tmp/crystallized
...
[INFO] --- com.io7m.halite.maven.plugin:0.0.1:crystallize (default-cli) @ com.io7m.jregions ---
[INFO] included: com.io7m.jregions:com.io7m.jregions:pom:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions:pom:2.1.0-SNAPSHOT → included unconditionally
[INFO] copy com.io7m.jregions:com.io7m.jregions:pom:2.1.0-SNAPSHOT
[INFO] mkdir /tmp/crystallized
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] artifact com.io7m.jregions:com.io7m.jregions:pom:2.1.0-SNAPSHOT has no file
...
[INFO] --- com.io7m.halite.maven.plugin:0.0.1:crystallize (default-cli) @ com.io7m.jregions.generators ---
[INFO] included: com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.generators:test-jar:tests:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.junreachable:com.io7m.junreachable.core:jar:2.1.1 → included unconditionally
[INFO] included: com.io7m.jaffirm:com.io7m.jaffirm.core:jar:2.0.0 → included unconditionally
[INFO] included: net.java.quickcheck:quickcheck:jar:0.6 → included unconditionally
[INFO] included: net.java.quickcheck:quickcheck-src-generator:jar:0.6 → included unconditionally
[INFO] copy com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT
[INFO] copy com.io7m.jregions:com.io7m.jregions.generators:test-jar:tests:2.1.0-SNAPSHOT
[INFO] copy com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT
[INFO] copy com.io7m.junreachable:com.io7m.junreachable.core:jar:2.1.1
[INFO] copy com.io7m.jaffirm:com.io7m.jaffirm.core:jar:2.0.0
[INFO] copy net.java.quickcheck:quickcheck:jar:0.6
[INFO] copy net.java.quickcheck:quickcheck-src-generator:jar:0.6
[INFO] mkdir /tmp/crystallized
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.generators/target/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.generators/target/com.io7m.jregions.generators-2.1.0-SNAPSHOT-tests.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT-tests.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT-tests.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT-tests.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.core/target/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/com.io7m.junreachable
[INFO] copy /build/.m2/repository/com/io7m/junreachable/com.io7m.junreachable.core/2.1.1/com.io7m.junreachable.core-2.1.1.jar /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar.tmp /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jaffirm
[INFO] copy /build/.m2/repository/com/io7m/jaffirm/com.io7m.jaffirm.core/2.0.0/com.io7m.jaffirm.core-2.0.0.jar /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar.tmp /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar
[INFO] mkdir /tmp/crystallized/net.java.quickcheck
[INFO] copy /build/.m2/repository/net/java/quickcheck/quickcheck/0.6/quickcheck-0.6.jar /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar.tmp
[INFO] rename /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar.tmp /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar
[INFO] mkdir /tmp/crystallized/net.java.quickcheck
[INFO] copy /build/.m2/repository/net/java/quickcheck/quickcheck-src-generator/0.6/quickcheck-src-generator-0.6.jar /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar.tmp
[INFO] rename /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar.tmp /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar
...
[INFO] included: com.io7m.jregions:com.io7m.jregions.documentation:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.documentation:test-jar:tests:2.1.0-SNAPSHOT → included unconditionally
[INFO] excluded: org.immutables:value:jar:2.6.1 → scope is provided
[INFO] excluded: com.io7m.immutables.style:com.io7m.immutables.style:jar:0.0.1 → scope is provided
[INFO] included: com.io7m.jregions:com.io7m.jregions.documentation:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.junreachable:com.io7m.junreachable.core:jar:2.1.1 → included unconditionally
[INFO] included: com.io7m.jaffirm:com.io7m.jaffirm.core:jar:2.0.0 → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: net.java.quickcheck:quickcheck:jar:0.6 → included unconditionally
[INFO] included: net.java.quickcheck:quickcheck-src-generator:jar:0.6 → included unconditionally
[INFO] copy com.io7m.jregions:com.io7m.jregions.documentation:jar:2.1.0-SNAPSHOT
[INFO] copy com.io7m.jregions:com.io7m.jregions.documentation:test-jar:tests:2.1.0-SNAPSHOT
[INFO] copy com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT
[INFO] copy com.io7m.junreachable:com.io7m.junreachable.core:jar:2.1.1
[INFO] copy com.io7m.jaffirm:com.io7m.jaffirm.core:jar:2.0.0
[INFO] copy com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT
[INFO] copy net.java.quickcheck:quickcheck:jar:0.6
[INFO] copy net.java.quickcheck:quickcheck-src-generator:jar:0.6
[INFO] mkdir /tmp/crystallized
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.documentation/target/com.io7m.jregions.documentation-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.documentation/target/com.io7m.jregions.documentation-2.1.0-SNAPSHOT-tests.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT-tests.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT-tests.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT-tests.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.core/target/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/com.io7m.junreachable
[INFO] copy /build/.m2/repository/com/io7m/junreachable/com.io7m.junreachable.core/2.1.1/com.io7m.junreachable.core-2.1.1.jar /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar.tmp /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jaffirm
[INFO] copy /build/.m2/repository/com/io7m/jaffirm/com.io7m.jaffirm.core/2.0.0/com.io7m.jaffirm.core-2.0.0.jar /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar.tmp /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.generators/target/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/net.java.quickcheck
[INFO] copy /build/.m2/repository/net/java/quickcheck/quickcheck/0.6/quickcheck-0.6.jar /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar.tmp
[INFO] rename /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar.tmp /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar
[INFO] mkdir /tmp/crystallized/net.java.quickcheck
[INFO] copy /build/.m2/repository/net/java/quickcheck/quickcheck-src-generator/0.6/quickcheck-src-generator-0.6.jar /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar.tmp
[INFO] rename /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar.tmp /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar
...
[INFO] included: com.io7m.jregions:com.io7m.jregions.tests:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.tests:test-jar:tests:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.tests:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT → included unconditionally
[INFO] included: org.slf4j:slf4j-api:jar:1.8.0-beta2 → included unconditionally
[INFO] included: ch.qos.logback:logback-classic:jar:1.3.0-alpha4 → included unconditionally
[INFO] included: ch.qos.logback:logback-core:jar:1.3.0-alpha4 → included unconditionally
[INFO] included: com.sun.mail:javax.mail:jar:1.6.0 → included unconditionally
[INFO] included: javax.activation:activation:jar:1.1 → included unconditionally
[INFO] included: com.io7m.junreachable:com.io7m.junreachable.core:jar:2.1.1 → included unconditionally
[INFO] included: com.io7m.jaffirm:com.io7m.jaffirm.core:jar:2.0.0 → included unconditionally
[INFO] included: net.java.quickcheck:quickcheck:jar:0.6 → included unconditionally
[INFO] included: net.java.quickcheck:quickcheck-src-generator:jar:0.6 → included unconditionally
[INFO] included: junit:junit:jar:4.12 → included unconditionally
[INFO] included: org.hamcrest:hamcrest-core:jar:1.3 → included unconditionally
[INFO] copy com.io7m.jregions:com.io7m.jregions.tests:jar:2.1.0-SNAPSHOT
[INFO] copy com.io7m.jregions:com.io7m.jregions.tests:test-jar:tests:2.1.0-SNAPSHOT
[INFO] copy com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT
[INFO] copy com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT
[INFO] copy org.slf4j:slf4j-api:jar:1.8.0-beta2
[INFO] copy ch.qos.logback:logback-classic:jar:1.3.0-alpha4
[INFO] copy ch.qos.logback:logback-core:jar:1.3.0-alpha4
[INFO] copy com.sun.mail:javax.mail:jar:1.6.0
[INFO] copy javax.activation:activation:jar:1.1
[INFO] copy com.io7m.junreachable:com.io7m.junreachable.core:jar:2.1.1
[INFO] copy com.io7m.jaffirm:com.io7m.jaffirm.core:jar:2.0.0
[INFO] copy net.java.quickcheck:quickcheck:jar:0.6
[INFO] copy net.java.quickcheck:quickcheck-src-generator:jar:0.6
[INFO] copy junit:junit:jar:4.12
[INFO] copy org.hamcrest:hamcrest-core:jar:1.3
[INFO] mkdir /tmp/crystallized
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.tests/target/com.io7m.jregions.tests-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.tests/target/com.io7m.jregions.tests-2.1.0-SNAPSHOT-tests.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT-tests.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT-tests.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT-tests.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.core/target/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jregions
[INFO] copy /build/git/com.github/io7m/jregions/com.io7m.jregions.generators/target/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar.tmp /tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar
[INFO] mkdir /tmp/crystallized/org.slf4j
[INFO] copy /build/.m2/repository/org/slf4j/slf4j-api/1.8.0-beta2/slf4j-api-1.8.0-beta2.jar /tmp/crystallized/org.slf4j/slf4j-api-1.8.0-beta2.jar.tmp
[INFO] rename /tmp/crystallized/org.slf4j/slf4j-api-1.8.0-beta2.jar.tmp /tmp/crystallized/org.slf4j/slf4j-api-1.8.0-beta2.jar
[INFO] mkdir /tmp/crystallized/ch.qos.logback
[INFO] copy /build/.m2/repository/ch/qos/logback/logback-classic/1.3.0-alpha4/logback-classic-1.3.0-alpha4.jar /tmp/crystallized/ch.qos.logback/logback-classic-1.3.0-alpha4.jar.tmp
[INFO] rename /tmp/crystallized/ch.qos.logback/logback-classic-1.3.0-alpha4.jar.tmp /tmp/crystallized/ch.qos.logback/logback-classic-1.3.0-alpha4.jar
[INFO] mkdir /tmp/crystallized/ch.qos.logback
[INFO] copy /build/.m2/repository/ch/qos/logback/logback-core/1.3.0-alpha4/logback-core-1.3.0-alpha4.jar /tmp/crystallized/ch.qos.logback/logback-core-1.3.0-alpha4.jar.tmp
[INFO] rename /tmp/crystallized/ch.qos.logback/logback-core-1.3.0-alpha4.jar.tmp /tmp/crystallized/ch.qos.logback/logback-core-1.3.0-alpha4.jar
[INFO] mkdir /tmp/crystallized/com.sun.mail
[INFO] copy /build/.m2/repository/com/sun/mail/javax.mail/1.6.0/javax.mail-1.6.0.jar /tmp/crystallized/com.sun.mail/javax.mail-1.6.0.jar.tmp
[INFO] rename /tmp/crystallized/com.sun.mail/javax.mail-1.6.0.jar.tmp /tmp/crystallized/com.sun.mail/javax.mail-1.6.0.jar
[INFO] mkdir /tmp/crystallized/javax.activation
[INFO] copy /build/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar /tmp/crystallized/javax.activation/activation-1.1.jar.tmp
[INFO] rename /tmp/crystallized/javax.activation/activation-1.1.jar.tmp /tmp/crystallized/javax.activation/activation-1.1.jar
[INFO] mkdir /tmp/crystallized/com.io7m.junreachable
[INFO] copy /build/.m2/repository/com/io7m/junreachable/com.io7m.junreachable.core/2.1.1/com.io7m.junreachable.core-2.1.1.jar /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar.tmp /tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar
[INFO] mkdir /tmp/crystallized/com.io7m.jaffirm
[INFO] copy /build/.m2/repository/com/io7m/jaffirm/com.io7m.jaffirm.core/2.0.0/com.io7m.jaffirm.core-2.0.0.jar /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar.tmp
[INFO] rename /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar.tmp /tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar
[INFO] mkdir /tmp/crystallized/net.java.quickcheck
[INFO] copy /build/.m2/repository/net/java/quickcheck/quickcheck/0.6/quickcheck-0.6.jar /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar.tmp
[INFO] rename /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar.tmp /tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar
[INFO] mkdir /tmp/crystallized/net.java.quickcheck
[INFO] copy /build/.m2/repository/net/java/quickcheck/quickcheck-src-generator/0.6/quickcheck-src-generator-0.6.jar /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar.tmp
[INFO] rename /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar.tmp /tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar
[INFO] mkdir /tmp/crystallized/junit
[INFO] copy /build/.m2/repository/junit/junit/4.12/junit-4.12.jar /tmp/crystallized/junit/junit-4.12.jar.tmp
[INFO] rename /tmp/crystallized/junit/junit-4.12.jar.tmp /tmp/crystallized/junit/junit-4.12.jar
[INFO] mkdir /tmp/crystallized/org.hamcrest
[INFO] copy /build/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar /tmp/crystallized/org.hamcrest/hamcrest-core-1.3.jar.tmp
[INFO] rename /tmp/crystallized/org.hamcrest/hamcrest-core-1.3.jar.tmp /tmp/crystallized/org.hamcrest/hamcrest-core-1.3.jar

$ find /tmp/crystallized/ -type f
/tmp/crystallized/org.hamcrest/hamcrest-core-1.3.jar
/tmp/crystallized/junit/junit-4.12.jar
/tmp/crystallized/javax.activation/activation-1.1.jar
/tmp/crystallized/com.sun.mail/javax.mail-1.6.0.jar
/tmp/crystallized/ch.qos.logback/logback-core-1.3.0-alpha4.jar
/tmp/crystallized/ch.qos.logback/logback-classic-1.3.0-alpha4.jar
/tmp/crystallized/org.slf4j/slf4j-api-1.8.0-beta2.jar
/tmp/crystallized/net.java.quickcheck/quickcheck-src-generator-0.6.jar
/tmp/crystallized/net.java.quickcheck/quickcheck-0.6.jar
/tmp/crystallized/com.io7m.jaffirm/com.io7m.jaffirm.core-2.0.0.jar
/tmp/crystallized/com.io7m.junreachable/com.io7m.junreachable.core-2.1.1.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT-tests.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT-tests.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.documentation-2.1.0-SNAPSHOT.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT-tests.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT-tests.jar

Filtering

Sometimes it is desirable to filter the dependencies/artifacts that will be copied. The plugin supports a flexible inclusion/exclusion mechanism to achieve this. The plugin can accept filter files against which the full identifiers of each artifact will be tested. A filter file is a file containing one java.util.Pattern per line. Lines beginning with the # character are ignored.

More formally, if C is the set of artifacts that will be copied by the plugin, I is the set of artifacts to be included, and X is the set of artifacts to be excluded then, for any given artifact a, a ∈ C iff a ∈ I ∧ a ∉ X.

For example, an inclusion filter file containing the following:

ch\.qos\.logback:logback-classic:jar:.*

Will result in only artifacts of type jar, with a group ch.qos.logback artifact logback-classic, and of any version, being copied. Filter files are evaluated from top to bottom, and the first pattern that matches will halt evaluation and cause the artifact being tested to be included into the set of artifacts that will be copied. The halite.inclusionListFile parameter specifies an inclusion filter file. If no inclusion filter file is specified, a default filter is used that effectively includes all artifacts.

The halite.exclusionListFile parameter specifies an exclusion filter file that can be used to exclude artifacts. The syntax of an exclusion filter file is identical to that of the inclusion filter file. If a pattern in the exclusion filter file matches an artifact, then that artifact will be excluded from copying.

As an example:

$ cat inclusion.txt
# Include all of jregions
com\.io7m\.jregions:.*
# Include the SLF4J API
org\.slf4j:.*

$ cat exclusion.txt
# Do not copy documentation
com\.io7m\.jregions:com\.io7m\.jregions\.documentation:.*

$ mvn package com.io7m.halite:com.io7m.halite.maven.plugin:0.0.1:crystallize \
  -Dhalite.outputDirectory=/tmp/crystallized \
  -Dhalite.inclusionListFile=inclusion.txt \
  -Dhalite.exclusionListFile=exclusion.txt

$ find /tmp/crystallized/ -type f
/tmp/crystallized/org.slf4j/slf4j-api-1.8.0-beta2.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT-tests.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.tests-2.1.0-SNAPSHOT.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.generators-2.1.0-SNAPSHOT-tests.jar
/tmp/crystallized/com.io7m.jregions/com.io7m.jregions.core-2.1.0-SNAPSHOT-tests.jar

Note that artifacts in the com.io7m.jregions and org.slf4j groups were included, and the com.io7m.jregions.documentation artifact was specifically excluded.

Finally, the halite.scopes parameter can be used to specify a comma separated list of other scopes (such as test or provided scope dependencies) from which to include dependencies. If no halite.scopes parameter is specified, the plugin behaves as if the user had specified compile,runtime.

Copying

The halite.logCopies parameter specifies a file to which the names of artifacts that will be copied will be written. This can be used if, for some reason, you only want to know what will be copied but want some other system to handle the actual copying. Using the example above:

$ mvn package com.io7m.halite:com.io7m.halite.maven.plugin:0.0.1:crystallize \
  -Dhalite.outputDirectory=/tmp/crystallized \
  -Dhalite.inclusionListFile=inclusion.txt \
  -Dhalite.exclusionListFile=exclusion.txt \
  -Dhalite.logCopies=/tmp/copies.txt

$ cat /tmp/copies.txt
copy com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.core/target/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
copy com.io7m.jregions:com.io7m.jregions.core:test-jar:tests:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.core/target/com.io7m.jregions.core-2.1.0-SNAPSHOT-tests.jar
copy com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.generators/target/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar
copy com.io7m.jregions:com.io7m.jregions.generators:test-jar:tests:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.generators/target/com.io7m.jregions.generators-2.1.0-SNAPSHOT-tests.jar
copy com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.core/target/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
copy com.io7m.jregions:com.io7m.jregions.tests:jar:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.tests/target/com.io7m.jregions.tests-2.1.0-SNAPSHOT.jar
copy com.io7m.jregions:com.io7m.jregions.tests:test-jar:tests:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.tests/target/com.io7m.jregions.tests-2.1.0-SNAPSHOT-tests.jar
copy com.io7m.jregions:com.io7m.jregions.core:jar:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.core/target/com.io7m.jregions.core-2.1.0-SNAPSHOT.jar
copy com.io7m.jregions:com.io7m.jregions.generators:jar:2.1.0-SNAPSHOT /build/git/com.github/io7m/jregions/com.io7m.jregions.generators/target/com.io7m.jregions.generators-2.1.0-SNAPSHOT.jar
copy org.slf4j:slf4j-api:jar:1.8.0-beta2 /build/.m2/repository/org/slf4j/slf4j-api/1.8.0-beta2/slf4j-api-1.8.0-beta2.jar

The first field is always copy, the second field is the artifact identifier, and the third field is the absolute path to the artifact on disk.

Finally the halite.dryRun parameter can be used to disable the actual copying of artifacts and/or creation of directories.

halite's People

Contributors

io7m avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.