Skip to content
This repository was archived by the owner on Apr 25, 2023. It is now read-only.

Commit

Permalink
Switch from Travis to GitHub Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewprenger committed Jul 12, 2020
1 parent 75f6ad7 commit 2167af2
Show file tree
Hide file tree
Showing 19 changed files with 431 additions and 56 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
* text=auto
* text=auto eol=lf
*.java text eol=lf
*.groovy text eol=lf
*.scala text eol=lf
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CI

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
name: Build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: 11
- run: chmod +x gradlew
- run: ./gradlew --version --no-daemon
- run: ./gradlew build shadowJar --stacktrace --no-daemon --console=plain --warning-mode all
- uses: actions/upload-artifact@v2
with:
name: cursegradle-fat-jar
path: build/libs/CurseGradle*-all.jar
integration-test:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
java: [8, 11]
name: Integration Test - Java ${{ matrix.java }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- uses: actions/download-artifact@v1
with:
name: cursegradle-fat-jar
path: test/mdk
- run: chmod +x test/mdk/gradlew
- run: test/mdk/gradlew --version --no-daemon
- run: test/mdk/gradlew build curseforge --stacktrace --no-daemon --console=plain --warning-mode all --project-dir test/mdk
env:
CURSEFORGE_API_KEY: ${{ secrets.CURSEFORGE_API_KEY }}
11 changes: 11 additions & 0 deletions .github/workflows/validate-gradle-wrapper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Validate Gradle Wrapper

on: [push, pull_request]

jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
16 changes: 0 additions & 16 deletions .travis.yml

This file was deleted.

8 changes: 8 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"editor.insertSpaces": true,
"files.eol": "\n",
"files.encoding": "utf8",
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"files.trimFinalNewlines": true
}
31 changes: 13 additions & 18 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
plugins {
id 'groovy'
id 'idea'
id 'com.gradle.plugin-publish' version '0.10.1'
id 'com.gradle.build-scan' version '2.4.2'
id 'com.gradle.plugin-publish' version '0.12.0'
id 'com.github.johnrengelman.shadow' version '6.0.0'
}

ext {
Expand All @@ -15,22 +15,22 @@ group = 'com.matthewprenger'
description = 'Gradle plugin to upload artifacts to CurseForge'
archivesBaseName = 'CurseGradle'

sourceCompatibility = 1.7
targetCompatibility = 1.7
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
jcenter()
}

dependencies {
compile gradleApi()
compile localGroovy()
compileOnly gradleApi()
compileOnly localGroovy()

compile group: 'net.sf.trove4j', name: 'trove4j', version: '3.0.3'
compile group: 'com.google.guava', name: 'guava', version: '19.0'
compile group: 'com.google.code.gson', name: 'gson', version: '2.6.2'
compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.2'
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2'
implementation group: 'net.sf.trove4j', name: 'trove4j', version: '3.0.3'
implementation group: 'com.google.guava', name: 'guava', version: '19.0'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.6.2'
implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.2'
implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2'
}

jar.manifest.mainAttributes([
Expand All @@ -40,12 +40,12 @@ jar.manifest.mainAttributes([

task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
archiveClassifier = 'javadoc'
archiveClassifier.set('javadoc')
}

task sourcesJar(type: Jar) {
from sourceSets.main.allSource
archiveClassifier = 'sources'
archiveClassifier.set('sources')
}

artifacts {
Expand Down Expand Up @@ -75,8 +75,3 @@ pluginBundle {
}
}
}

buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
termsOfServiceAgree = 'yes'
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 3 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#Sun Jul 12 02:22:29 CDT 2020
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
31 changes: 14 additions & 17 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar


# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
Expand Down Expand Up @@ -129,6 +130,7 @@ fi
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`

JAVACMD=`cygpath --unix "$JAVACMD"`

# We build the pattern for arguments to be converted via cygpath
Expand All @@ -154,19 +156,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
i=`expr $i + 1`
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi

Expand All @@ -175,14 +177,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
APP_ARGS=`save "$@"`

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi

exec "$JAVACMD" "$@"
4 changes: 4 additions & 0 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

Expand Down Expand Up @@ -81,6 +84,7 @@ set CMD_LINE_ARGS=%*

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar


@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.matthewprenger.cursegradle

import com.google.gson.annotations.SerializedName
import org.gradle.api.Nullable
import org.gradle.api.Project

import javax.annotation.Nullable

import static com.matthewprenger.cursegradle.Util.check

class CurseArtifact implements Serializable {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.matthewprenger.cursegradle

import org.gradle.api.Nullable
import javax.annotation.Nullable

import static com.matthewprenger.cursegradle.Util.check

Expand Down
2 changes: 2 additions & 0 deletions test/mdk/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.gradle/
build/
69 changes: 69 additions & 0 deletions test/mdk/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
classpath fileTree(dir: projectDir, include: ['CurseGradle-*-all.jar'])
}
}
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'com.matthewprenger.cursegradle'

version = '1.0'
group = 'com.matthewprenger.cursegradletestmod'
archivesBaseName = 'cursegradletestmod'

sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'

minecraft {
mappings channel: 'snapshot', version: '20200514-1.16'
}

dependencies {
minecraft 'net.minecraftforge:forge:1.16.1-32.0.63'
}

task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
classifier = 'javadoc'
}

task sourcesJar(type: Jar) {
from sourceSets.main.allSource
classifier = 'sources'
}

artifacts {
archives jar
archives javadocJar
archives sourcesJar
}

assemble.dependsOn javadocJar, sourcesJar

curseforge {
apiKey = System.getenv('CURSEFORGE_API_KEY') ?: 'unset'
options {
debug = true
}
project {
id = '70690'
changelog = 'Changes'
releaseType = 'alpha'

mainArtifact(jar) {
displayName = "My Test Mod version $version"
}

addArtifact(javadocJar) {
displayName = "My Test Mod Javadoc version $version"
}

addArtifact(sourcesJar) {
displayName = "My Test Mod Sources version $version"
}
}
}
Binary file added test/mdk/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 5 additions & 0 deletions test/mdk/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
Loading

0 comments on commit 2167af2

Please sign in to comment.