LexAccess

LexAccess Package Ci-Cd Procedures

This page describes steps for develop, build and upload LexAccess software.

  • Ci-Cd Build LexAccess
    • Development:
      • host: lexdev
      • dependencies: ./lib/Other: lexCheckApi.jar * lvgApi.jar
      • compiler tool - ant (build.xml):
        • ant clean: delete ./lib/*.jar
        • ant: generate ./lib/*api.jar
        • ant dist: generate ./lib/*dist.jar
        • ant javadoc: generate javadoc
        • ant release: generate ./lib/lexAccess${YEAR}lite.tgz)
      • build ./lib/lexAccess2023api.jar & lexAccess2023dist.jar
      • load the latest database
      • test on AUTO_MODE
      • pack:
        program <year> <pack> <upload> <snapshot> <maven>
        packLexAccessFull 2023 TRUE FALSE FALSE FALSE
        packLexAccessLite 2023 TRUE FALSE FALSE FALSE
        		
      • test full (on ${PROJECT} and lite version
      • uploadFiles 2023 TRUE
        => upload lexAccess${YEAR}.tgz and lexAccess${YEAR}lite.tgz to LHC-nexus.../lhc-lexicon-raw/www/lexAccess/${YEAR}/

    • Maven manual build:
      • host: lexdev
      • dependencies: LHC-nexus...lhc-lexicon-maven-releses:
        • junit.4.13
        • icu4j.69.1
        • hsqldb.2.5.1
        • lexCheck.2022.2
        • lvg.2022.0
      • compiler tool - maven (pom.xml):
        • mvn clean: remove ./target
        • mvn compile: generate ./target/classes
        • mvn package: generate ./target/lexAccess2023.*.SNAPSHOT.jar or ./target/lexAccess2023.*.jar
        • mvn deploy: upload artifact to LHC-Nexus (snapshot or release)
        • mvn clean deploy -Pshade: upload lexAccess2023.*-shaded.jar to nexus
      • build ./target/lexAccess-2023.2.jar (= api.jar) & lexAccess-2023.2-shaded.jar (= dist.jar)
      • should already load the latest database
      • test on AUTO_MODE
      • pack:
        program <year> <pack> <upload> <snapshot> <maven>
        packLexAccessFull 2023 TRUE FALSE TRUE TRUE
        packLexAccessLite 2023 TRUE FALSE TRUE TRUE
        		
      • test full (on ${PROJECT} and lite version
      • redo above steps using release (remove snapshot)
      • uploadFiles 2023 TRUE
        => upload lexAccess${YEAR}.tgz and lexAccess${YEAR}lite.tgz to LHC-nexus.../lhc-lexicon-raw/www/lexAccess/${YEAR}/

    • Ci-Cd build:
      • make sure it pass maven manul build
      • git add -A
      • git commit -m "LEX..."
      • git push
      • need to update LA_XXX variable in the LHC-Git Lexicon Ci-Cd.
        • LA_PACK: TRUE -> TRUE
        • LA_UPLOAD: FALSE -> TRUE
        • LA_SNAPSHOT: TRUE -> FALSE
        • LA_MVN: FALSE -> TRUE
      • Make sure it pass LHC-Git Ci-Cd pipeline.
      • reset LA_XXX variable in the LHC-Git Lexicon Ci-Cd.

  • Install and test LexAccess
    • copy LexAccess package (lexAccess${YEAR}.tgz) to:
      1. /${PROJECTS}/LA/
    • Unpack (gtar -xzvf lexAccess${YEAR}.tgz)
    • Install (./install_linux.sh)
    • Test