Because of a lapse in government funding, the information on this website may not be up to date, transactions submitted via the website may not be processed, and the agency may not be able to respond to inquiries until appropriations are enacted. The NIH Clinical Center (the research hospital of NIH) is open. For more details about its operating status, please visit cc.nih.gov. Updates regarding government operating status and resumption of normal operations can be found at OPM.gov.
Lexical Tools - build Processes
This pages describes the build, development and test procedures on Lexical Tools annual releases:
Command | setup | Operation results |
---|---|---|
shell> ant clean | build.xml |
|
shell> ant | build.xml |
|
shell> ant dist | build.xml |
|
shell> ant release | build.xml |
|
shell> packLvgFull ${YEAR} | use ./lib/lvg${YEAR}dist.jar | create ./lvg${year}.tgz |
shell> packLvgLite ${YEAR} | use ./lib/lvg${YEAR}dist.jar | create ./lvg${year}lite.tgz |
Test Type | setup | Operation results |
---|---|---|
unit test | install ./lvg${YEAR}.tgz to ${PROJECT} | check results on all flows and options |
lite test | unzip ./lib/lvg${YEAR}Lite.tgz | Check all scripts |
groupId | artifactId | version | Notes |
---|---|---|---|
gov.nih.nlm | lvg |
| SNAPSHOT is used for development. |
com.ibm.icu | icu4j | 73.2 | Unicode package |
org.hsqldb | hsqldb | 2.7.2 | HsqlDb database (use jdk8) |
junit | junit | 4.13.2 | for unit tests |
org.apache.maven.plugins | maven-compiler-plugin | 3.11.0 | maven compiler |
org.apache.maven.plugins | maven-jar-plugin | 3.3.0 | Maven manifest |
Profile | |||
org.apache.maven.plugins | maven-assembly-plugin | 3.6.0 | mvn package -Psingle generates ./target/lvg-${YEAR}.0-jar-with-depednencies.jar |
org.apache.maven.plugins | maven-resources-plugin | 3.3.1 | copy resource files |
org.apache.maven.plugins | maven-shade-plugin | 3.5.1 |
|
org.apache.maven.plugins | maven-javadoc-plugin | 3.6.0 | mvn package -P javadoc generate ./target/apidocs/* (not used in the release) |
org.apache.maven.plugins | maven-source-plugin | 3.3.0 | mvn package -P source generates lvg-{YEAR}.0-sources.jar (include source) |
Command | setup | Operation results |
---|---|---|
shell> mvn clean | pom.xml |
|
shell> mvn validate | pom.xml |
|
shell> mvn compile | pom.xml |
|
shell> mvn test | pom.xml ./test/java/*.java |
|
shell> mvn package | pom.xml |
|
shell> mvn install | pom.xml |
|
shell> mvn deploy | pom.xml |
|
Command | setup | Operation results |
---|---|---|
shell> mvn deploy -Pshade | pom.xml |
|
shell> packLvgFull ${YEAR} TRUE | use ./target/lvg-${YEAR}.0-shaded.jar to replace ./lib/lvg${YEAR}dist.jar |
|
shell> packLvgLite ${YEAR} TRUE | use ./target/lvg-${YEAR}.0-shaded.jar to replace ./lib/lvg${YEAR}dist.jar |
|
Test Type | setup | Operation results |
---|---|---|
unit test | install lvg to ${PROJECT} | check results on all flows and options |
lite test | unzip lvgLite | Check all scripts |
variable | operations |
---|---|
login | login to docker |
build | use maven to build and deploy lvg artifacts to LHC-Nexus |
packLite | pack lite (min.) Lvg to ./lvgLite${YEAR}.tgz |
packFull | pack full Lvg to ./lvg${YEAR}.tgz |
Variable name | function | Notes |
---|---|---|
${VERSION} | lvg version | updated in the Makefile |
${LVG_PACK} | pack lvg${YEAR}lite.tgz and lvg${YEAR}.tgz |
|
${LVG_UPLOAD} | upload to Nexus |
|
${LVG_MVN_SNAPSHOT} | snapshot build |
|
${LVG_MVN_JAR} | Use mvn to build |
|
Variable name | Dev - Ant | Maven/PreProcess | Production |
---|---|---|---|
${YEAR} | year | year | year |
${LVG_PACK} | TRUE | TRUE | TRUE |
${LVG_UPLOAD} | FALSE | FALSE | TRUE |
${LVG_MVN_SNAPSHOT} | TRUE | TRUE | FALSE |
${LVG_MVN_JAR} | FALSE | TRUE | TRUE |
command | desciption | notes |
---|---|---|
git branch | check which branch is on | |
git checkout develop | Use "develop" for development | development uses snapshot build |
| save software changes to Git remote | |
git tag | show all tags | tag is used to start the Ci-Cd build |
git tag -a v.${YEAR}.0 -m "msg" | tag the current version | |
git push origin tagName | push a tag to remote origin | A new tag will start the Ci-Cd pipleline |
git push origin -- tags | pushshow all tags to remote origin |
Test Type | setup | Operation results |
---|---|---|
unit test | install lvg to ${PROJECT} | check results on all flows and options |
lite test | unzip lvgLite | Check all scripts |
GUI Lexical Tool test | unzip lvgLite | Check all scripts |
Perfromance test | unzip lvgLite | Check all scripts |
Other tests | unzip lvgLite | Check all scripts |
Git command | Descriptions | Notes |
---|---|---|
git checkout master | switch to master | |
git merge develop | merge changes in dev to master | |
git tag | show all tags | |
git tag -a v.${YEAR}.01 -m "msg" | tag the current version | tag is used to save the official release (not to start a Ci-Cd pipeline). |