Skip to content

added support for passing on types in the PAG in case we later want t… #1649

added support for passing on types in the PAG in case we later want t…

added support for passing on types in the PAG in case we later want t… #1649

Workflow file for this run

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Soot CI
on:
push:
pull_request:
jobs:
StyleAndLicense:
name: Check style´and license conformity
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Use Java 8
uses: actions/setup-java@v1
with:
java-version: '8'
- name: Stylecheck
if: always()
run: |
mvn -B clean checkstyle:check -Dcheckstyle.failOnViolation=true
- name: Licensecheck
if: always()
run: |
mvn -B clean license:check-file-header -Dlicence-check.failOnMissingHeader=true
BuildAndTest:
name: Build and Test with java ${{ matrix.java_version }}
runs-on: ubuntu-latest
strategy:
matrix:
java_version: ['8', '9', '11']
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Use Java ${{ matrix.java_version }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java_version }}
- name: Build and test Java ${{ matrix.java_version }}
run: |
mvn -B clean test -PJava${{ matrix.java_version }}
DeployArtifacts:
name: Deploy artifacts to Maven Central
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/umbrella'
needs: [BuildAndTest]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Use Java 8
uses: actions/setup-java@v1
with:
java-version: '8'
- name: Deploy artifacts
uses: samuelmeuli/action-maven-publish@v1
with:
gpg_private_key: ${{ secrets.gpg_private_key }}
gpg_passphrase: ${{ secrets.gpg_passphrase }}
nexus_username: ${{ secrets.nexus_username }}
nexus_password: ${{ secrets.nexus_password }}
maven_args: "-DskipTests -Dcheckstyle.failOnViolation=true"
# has to happen in same job, so that the documention was already created (would require another checkout and maven run otherwise)
- name: Get Version
id: version
run: echo ::set-output name=version::$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
- name: Organize documentation files for upload
shell: bash
env:
docdir: ./build/docs
run: |
export releasedir=${docdir}/${{ steps.version.outputs.version }} # env variables cannot contain other env variables
mkdir -p ${releasedir}/jdoc
unzip ./target/sootclasses-trunk-javadoc.jar -d ${releasedir}/jdoc/
mkdir -p ${releasedir}/options
cp ./doc/soot_options.html ${releasedir}/options/
cp ./doc/soot_options.css ${releasedir}/options/
cp ./doc/index.html ${docdir}/
- name: Deploy JavaDoc to GH pages
uses: JamesIves/github-pages-deploy-action@4.1.5
with:
branch: gh-pages # The branch the action should deploy to.
folder: build/ # The folder the action should deploy.
clean: false # Do not remove existing files in gh-pages