diff --git a/cp-to-solution.sh b/cp-to-solution.sh index 6746d80da9f9a14188f78f53d8c5e0e33dcafdc5..4b3fb411e620023337d7495359bc17cc220682d0 100755 --- a/cp-to-solution.sh +++ b/cp-to-solution.sh @@ -1,104 +1,13 @@ -#!/usr/bin/env bash - -function build_sed_activate() { - # enable integration - sed -i 's/enabled = false/enabled = true/g' solve/build.gradle - # disable debug - sed -i 's|"--debug",|//"--debug",|g' solve/build.gradle -} - -function build_sed_deactivate() { - sed -i 's/enabled = true/enabled = false/g' solve/build.gradle - sed -i 's|//"--debug",|"--debug",|g' solve/build.gradle - sed -i 's/"--incremental=[^"]*"/"--incremental=param,debug"/g' solve/build.gradle - sed -i 's/--flush=[^"]*/--flush=api/g' solve/build.gradle -} - -function build_incremental() { - #TODO - name="$1-inc" - echo ">> Building $name" - build_sed_activate - sed -i 's/--flush=full/--flush=api/g' solve/build.gradle - sed -i 's/"--incremental=[^"]*"/"--incremental=param"/g' solve/build.gradle - ./gradlew --console=plain distTar - build_sed_deactivate - copy_to_ttc $name -} - -function build_flushing() { - #TODO - name="$1-flush" - echo ">> Building $name" - build_sed_activate - sed -i 's/--flush=api/--flush=full/g' solve/build.gradle - sed -i 's/"--incremental=[^"]*"/"--incremental=none"/g' solve/build.gradle - ./gradlew --console=plain distTar - build_sed_deactivate - copy_to_ttc $name -} - -function copy_to_ttc() {( - name=$1 - ls -lh solve/build/distributions - - # ensure directory exists and unpack into it - mkdir -p ../ttc2018liveContest/solutions/$name - tar -xf solve/build/distributions/solve-1.0-SNAPSHOT.tar -C ../ttc2018liveContest/solutions/$name/ solve-1.0-SNAPSHOT/bin/ solve-1.0-SNAPSHOT/lib/ - - # cp solution.ini - cp solution.ini ../ttc2018liveContest/solutions/$name/ - - # fix directory layout - cd ../ttc2018liveContest/solutions/$name/ - rm -r bin/ lib/ - mv solve-1.0-SNAPSHOT/bin/ . - mv solve-1.0-SNAPSHOT/lib/ . - rmdir solve-1.0-SNAPSHOT -)} - -function build() { - build_flushing $@ - build_incremental $@ -} - -function prepare_namelookup() { - # deactivate preprocess - sed -i 's|^generateAst.dependsOn preprocess|//generateAst.dependsOn preprocess|g' solve/build.gradle - # remove generated AST and helper files, activate namelookup AST and helper jadd files - ( cd solve/src/main/jastadd && - rm SocialNetworkGen.ast SocialNetworkGen.jadd && - mv Refs.jadd.unused Refs.jadd && - mv SocialNetworkNamelookup.ast.unused SocialNetworkNamelookup.ast ) -} - -function revert_namelookup() { - # activate preprocess - sed -i 's|//generateAst.dependsOn preprocess|generateAst.dependsOn preprocess|g' solve/build.gradle - # deactivate normal AST and helper jadd files - ( cd solve/src/main/jastadd && - mv Refs.jadd Refs.jadd.unused && - mv SocialNetworkNamelookup.ast SocialNetworkNamelookup.ast.unused ) -} - -prepare_namelookup -# Build jastadd-ttc18-xml (namelookup) -sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle -build "jastadd-ttc18-xml" - -revert_namelookup - -# workaround for failing build -echo ">> Prepare building relast building" -sleep 1 -./gradlew --console=plain preprocess jastadd build 2> /dev/null -sleep 1 -./gradlew --console=plain preprocess jastadd build 2> /dev/null - -# Build jastadd-ttc18-xml -sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle -build "jastadd-ttc18-relast-xml" - -# Build jastadd-ttc18-emf -sed -i 's/LiveContestDriverXml/LiveContestDriverEMF/' solve/build.gradle -build "jastadd-ttc18-relast-emf" +target="../ttc2018liveContest/solutions" +#namelookup-xml-* +for s in relast-* ; do + echo ">> Building $s" + ./gradlew ":${s}:installDist" + solutionDir="$target/jastadd-$s" + echo ">> Copy to $solutionDir" + rm -rI "$solutionDir" + mkdir -p "$solutionDir/bin" + cp solution.ini "$solutionDir/" + cp "solve/README-for-TTC-repo.md" "$solutionDir/README.md" + cp "${s}/build/libs/solve-1.0-SNAPSHOT.jar" "${solutionDir}/bin/solve.jar" +done diff --git a/solution.ini b/solution.ini index d5652e8e5561d57839265654a20c69e400290131..650fde118f552c700be76a56724915d998d710b1 100644 --- a/solution.ini +++ b/solution.ini @@ -3,5 +3,5 @@ default=echo "It is already built" skipTests=echo "It is already built" [run] -Q1=bin/solve -Q2=bin/solve +Q1=java -Xms6G -Xmx6G -jar bin/solve.jar +Q2=java -Xms6G -Xmx6G -jar bin/solve.jar diff --git a/solve/README-for-TTC-repo.md b/solve/README-for-TTC-repo.md new file mode 100644 index 0000000000000000000000000000000000000000..8781e4c6d84d46ad9b48b304f8184c712634c0a8 --- /dev/null +++ b/solve/README-for-TTC-repo.md @@ -0,0 +1 @@ +The sources for all JastAdd solutions can be found in a [separate repository](https://git-st.inf.tu-dresden.de/stgroup/ttc18live).