Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • dev
  • release/3.1
  • dev2
  • release/3.0.1
  • release/3.0.2
  • release/3.0.0
  • eupl_v1.2
  • feature/ssh-tunnel-to-rmi
  • logs
  • release/2.2
  • gradle
  • release/2.1
  • release/2.0
  • maison
  • recherche_optimisation_transmission_events
  • CommunicationFacade_fix
  • release/1.11
  • release/1.10
  • release/1.9.1
  • v3.1
  • v3.0.2
  • v3.0.1
  • v3.0.0
  • v2.2
  • v2.1
  • v2.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
  • 1.0.0
  • v1.11
  • v1.10
  • v1.9.1
  • v1.9
  • v1.8.1
  • v1.8
  • v1.7.3
  • v1.7.2
  • v1.7.1
40 results

build.sh

Blame
  • build.sh 2.19 KiB
    #! /bin/bash
    set -e
    VERSION=$(cat ${0%/*}/VERSION)
    DATE=$(cat ${0%/*}/DATE)
    GUI="../praxis-swing-gui"
    cd "${0%/*}"/..
    BUILD_DATE=$(date --iso-8601=seconds)
    
    # NB: Changed files hereafter should be ignored by the version control,
    # e.g. git update-index --assume-unchanged <file>
    # or the commits retrieved here won't be the right ones
    CORE_COMMIT=$(git describe --tags --always --broken)
    GUI_COMMIT=$(cd "${GUI}" && git describe --tags --always --broken)
    
    sed -i -e 's#<property name="praxis.version" value="[^"]*"/>#<property name="praxis.version" value="'${VERSION}'"/>#' build.xml
    sed -e '/public static final String release / s/"[^"]*"/"'${VERSION}'"/' \
        -i src/eu/telecom_bretagne/praxis/common/ReleaseInfo.java
    sed -e '/public static final String release_date / s/"[^"]*"/"'${DATE}'"/' \
        -i src/eu/telecom_bretagne/praxis/common/ReleaseInfo.java
    sed -e "/DATE/ s/=.*;$/= \"${BUILD_DATE}\";/" \
        -i src/eu/telecom_bretagne/praxis/common/BuildInfo.java
    sed -e "/COMMIT/ s/=.*;$/= \"${CORE_COMMIT}\";/" \
        -i src/eu/telecom_bretagne/praxis/common/BuildInfo.java
    
    sed -e "/DATE/ s/=.*;$/= \"${BUILD_DATE}\";/" \
        -i ${GUI}/src/eu/telecom_bretagne/praxis/client/ui/BuildInfo.java
    sed -e "/COMMIT/ s/=.*;$/= \"${GUI_COMMIT}\";/" \
        -i ${GUI}/src/eu/telecom_bretagne/praxis/client/ui/BuildInfo.java
    
    ./data/i18n/native_to_ascii.sh
    \rm -f target/jars/praxis.jar target/jars/praxis_server_platform.jar
    
    # even if the file is marked "assumed-unchanged", git describe marks it as
    # dirty: refresh the index
    ( set +e; git update-index --refresh > /dev/null 2>&1 ; exit 0 )
    ( set +e; cd "${GUI}" && git update-index --refresh  > /dev/null 2>&1 ; exit 0)
    
    ant praxis.build.standalone.jar  praxis.build.server_platform.jar
    
    NEW_CORE_COMMIT=$(git describe --tags --always --broken)
    if [ "${CORE_COMMIT}" != "${NEW_CORE_COMMIT}" ]; then
        echo "Warning: description of core commit changed!"
        echo "    ${CORE_COMMIT} -> ${NEW_CORE_COMMIT}"
    fi
    NEW_GUI_COMMIT=$(cd "${GUI}" && git describe --tags --always --broken)
    if [ "${GUI_COMMIT}" != "${NEW_GUI_COMMIT}" ]; then
        echo "Warning: description of GUI commit changed!"
        echo "    ${GUI_COMMIT} -> ${NEW_GUI_COMMIT}"
    fi
    
    
    echo Built ${CORE_COMMIT} / ${GUI_COMMIT}
    #
    exit 0