name: Build EssentialsX on: push: branches: - 2.x jobs: build: name: Build and upload runs-on: ubuntu-latest steps: - name: Checkout Git repo uses: actions/checkout@v2 with: fetch-depth: 0 - name: Restore Gradle cache uses: actions/cache@v2 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} restore-keys: | ${{ runner.os }}-gradle- - name: Set up JDK 16 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: 16 - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - name: Build with Gradle run: | chmod +x gradlew ./gradlew build --stacktrace - name: Archive plugin jars on GitHub uses: actions/upload-artifact@master with: name: EssentialsX plugin jars path: jars/ - name: Deploy to Maven repo if: ${{ success() && github.event_name == 'push' && github.repository == 'EssentialsX/Essentials' && github.ref == 'refs/heads/2.x' }} env: ORG_GRADLE_PROJECT_essxUsername: ${{ secrets.ESSENTIALSX_DEPLOY_USERNAME }} ORG_GRADLE_PROJECT_essxPassword: ${{ secrets.ESSENTIALSX_DEPLOY_PASSWORD }} run: | ./gradlew publish - name: Prepare Javadocs if: ${{ success() && github.event_name == 'push' && github.repository == 'EssentialsX/Essentials' && github.ref == 'refs/heads/2.x' }} run: | mv Essentials/build/docs/javadoc/ javadocs/ cp -r EssentialsAntiBuild/build/docs/javadoc/ javadocs/EssentialsAntiBuild/ cp -r EssentialsChat/build/docs/javadoc/ javadocs/EssentialsChat/ cp -r EssentialsDiscord/build/docs/javadoc/ javadocs/EssentialsDiscord/ cp -r EssentialsGeoIP/build/docs/javadoc/ javadocs/EssentialsGeoIP/ cp -r EssentialsProtect/build/docs/javadoc/ javadocs/EssentialsProtect/ cp -r EssentialsSpawn/build/docs/javadoc/ javadocs/EssentialsSpawn/ cp -r EssentialsXMPP/build/docs/javadoc/ javadocs/EssentialsXMPP/ - name: Deploy Javadocs if: ${{ success() && github.event_name == 'push' && github.repository == 'EssentialsX/Essentials' && github.ref == 'refs/heads/2.x' }} uses: netlify/actions/cli@master with: args: deploy --dir=javadocs/ --prod --message="GitHubActionsDeploy" env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_JD_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_JD_2X_SITE_ID }}