tweaks to work better with the GitHub action
This commit is contained in:
		
							parent
							
								
									5b8f078201
								
							
						
					
					
						commit
						c4fa643e61
					
				
							
								
								
									
										26
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							@ -3,13 +3,13 @@ name: Build
 | 
			
		||||
on: 
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - unstable
 | 
			
		||||
      - test_gradle
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
      - unstable
 | 
			
		||||
      - test_gradle
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
  gradle:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
@ -22,11 +22,21 @@ jobs:
 | 
			
		||||
        with:
 | 
			
		||||
          java-version: '11'
 | 
			
		||||
          distribution: 'adopt'
 | 
			
		||||
      - name: Ant build
 | 
			
		||||
        run: ant -noinput -buildfile build.xml clean check jar unittest
 | 
			
		||||
      - name: Upload Artifact
 | 
			
		||||
      - name: Setup Gradle
 | 
			
		||||
        uses: gradle/gradle-build-action@v2
 | 
			
		||||
#      Not sure why this is needed, per a support issue (https://github.com/gradle/gradle-build-action/issues/517) it should not
 | 
			
		||||
      - name: Grant execute permission for gradlew
 | 
			
		||||
        run: chmod +x gradlew
 | 
			
		||||
      - name: Execute Gradle build
 | 
			
		||||
        run: ./gradlew clean serializeEnginesDist build dist
 | 
			
		||||
      - name: Upload build reports
 | 
			
		||||
        uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: openrocket_build_${{ github.run_number }}
 | 
			
		||||
          path: ${{github.workspace}}/swing/build/jar/OpenRocket.jar
 | 
			
		||||
          name: build-reports
 | 
			
		||||
          path: build/reports/
 | 
			
		||||
#      - name: Upload Artifact
 | 
			
		||||
#        uses: actions/upload-artifact@v3
 | 
			
		||||
#        with:
 | 
			
		||||
#          name: openrocket_build_${{ github.run_number }}
 | 
			
		||||
#          path: ${{github.workspace}}/build/lib/openrocket*.jar
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ jdk:
 | 
			
		||||
  - oraclejdk13
 | 
			
		||||
 
 | 
			
		||||
script:
 | 
			
		||||
  - gradlew clean test distFull
 | 
			
		||||
  - gradlew clean serializeEnginesDist build dist
 | 
			
		||||
 | 
			
		||||
notifications:
 | 
			
		||||
    webhooks: https://www.travisbuddy.com/
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								build.gradle
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								build.gradle
									
									
									
									
									
								
							@ -48,21 +48,11 @@ shadowJar {
 | 
			
		||||
 | 
			
		||||
//shadowJar.dependsOn([':core:serializeEngines'])
 | 
			
		||||
 | 
			
		||||
// Runs a distribution build of the application.  This does not include executions of the
 | 
			
		||||
// serialization of engines.
 | 
			
		||||
// Packages the application for distribution.
 | 
			
		||||
tasks.register('dist') {
 | 
			
		||||
    group = 'openrocket'
 | 
			
		||||
    dependsOn 'shadowJar'
 | 
			
		||||
    doLast {
 | 
			
		||||
        println "Completed the deployable jar in './build/libs"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
// Runs a complete distribution build of the application.  This includes executions the
 | 
			
		||||
// serialization of engines by fetching data from ThrustCurve.
 | 
			
		||||
tasks.register('distFull') {
 | 
			
		||||
    group = 'openrocket'
 | 
			
		||||
    dependsOn ':core:serializeEngines', 'shadowJar'
 | 
			
		||||
    doLast {
 | 
			
		||||
        println "Completed the full build and deployable jar in './build/libs"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -54,29 +54,63 @@ dependencies {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
def serializedEnginesPath = './src/main/resources/datafiles/thrustcurves/thrustcurves.ser'
 | 
			
		||||
// Executes the serialization of engines from ThrustCurve.
 | 
			
		||||
def serializedEnginesPathDist = './build/resources/main/datafiles/thrustcurves/thrustcurves.ser'
 | 
			
		||||
// Executes the serialization of engines from ThrustCurve for a build.
 | 
			
		||||
tasks.register('serializeEngines') {
 | 
			
		||||
    group = 'openrocket'
 | 
			
		||||
    if (!project.file(serializedEnginesPath).exists()) {
 | 
			
		||||
        println 'Serializing engines.'
 | 
			
		||||
        dependsOn serializeEnginesExecute
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        println "Serialized engines in ${project.file(serializedEnginesPath)} already exist."
 | 
			
		||||
    }
 | 
			
		||||
    dependsOn serializeEnginesDelete
 | 
			
		||||
    dependsOn serializeEnginesExecute
 | 
			
		||||
}
 | 
			
		||||
tasks.register('serializeEnginesDist') {
 | 
			
		||||
    group = 'openrocket'
 | 
			
		||||
    dependsOn serializeEnginesExecuteDist
 | 
			
		||||
}
 | 
			
		||||
// Deletes the serialize engine file if it exists.
 | 
			
		||||
tasks.register('serializeEnginesDelete', Delete) {
 | 
			
		||||
    group = 'openrocket'
 | 
			
		||||
    delete fileTree(serializedEnginesPath)
 | 
			
		||||
 | 
			
		||||
    doFirst {
 | 
			
		||||
        println "Starting serializeEnginesDelete..."
 | 
			
		||||
    }
 | 
			
		||||
    doLast {
 | 
			
		||||
        println "...serializeEnginesDelete Completed"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
// Excutes the Java serialization program to fetch ThrustCurve rocket data and serialize it.
 | 
			
		||||
// Executes the Java serialization program to fetch ThrustCurve rocket data and serialize it.
 | 
			
		||||
tasks.register('serializeEnginesExecute', JavaExec) {
 | 
			
		||||
    group = 'openrocket'
 | 
			
		||||
    dependsOn serializeEnginesDelete
 | 
			
		||||
    workingDir  new File(projectDir, 'build/tmp')
 | 
			
		||||
    classpath = sourceSets.main.runtimeClasspath
 | 
			
		||||
    mainClass.set('net.sf.openrocket.thrustcurve.SerializeThrustcurveMotors')
 | 
			
		||||
    args '../../resources-src/datafiles/thrustcurves/', '../.' + serializedEnginesPath
 | 
			
		||||
 | 
			
		||||
    doFirst {
 | 
			
		||||
        println "Starting serializeEnginesExecute..."
 | 
			
		||||
//        println "${serializedEnginesPath}"
 | 
			
		||||
    }
 | 
			
		||||
    doLast {
 | 
			
		||||
        println "...serializeEnginesExecute Completed"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
// Executes the Java serialization program to fetch ThrustCurve rocket data and serialize it.
 | 
			
		||||
// TODO: Shouldn't need a seperate task, but the args are not changing when dynamically updating
 | 
			
		||||
// the variable.
 | 
			
		||||
tasks.register('serializeEnginesExecuteDist', JavaExec) {
 | 
			
		||||
    group = 'openrocket'
 | 
			
		||||
    dependsOn serializeEnginesDelete
 | 
			
		||||
    workingDir  new File(projectDir, 'build/tmp')
 | 
			
		||||
    classpath = sourceSets.main.runtimeClasspath
 | 
			
		||||
    mainClass.set('net.sf.openrocket.thrustcurve.SerializeThrustcurveMotors')
 | 
			
		||||
    args '../../resources-src/datafiles/thrustcurves/', '../.' + serializedEnginesPathDist
 | 
			
		||||
 | 
			
		||||
    doFirst {
 | 
			
		||||
        println "Starting serializeEnginesExecuteDist..."
 | 
			
		||||
    }
 | 
			
		||||
    doLast {
 | 
			
		||||
        println "...serializeEnginesExecuteDist Completed"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tasks.register('copyReadmeMain', Copy) {
 | 
			
		||||
@ -89,7 +123,8 @@ tasks.register('copyReadmeMain', Copy) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//clean.dependsOn([serializeEnginesDelete])
 | 
			
		||||
compileJava.dependsOn([copyReadmeMain])
 | 
			
		||||
processResources.dependsOn([copyReadmeMain])
 | 
			
		||||
//jar.dependsOn([serializeEnginesExecute])
 | 
			
		||||
 | 
			
		||||
// https://docs.gradle.org/7.4/userguide/cross_project_publications.html
 | 
			
		||||
tasks.register('testCoreArtifactsJar', Jar) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user