@@ -3,10 +3,13 @@ apply plugin: 'maven-publish'
33
44import java.nio.file.*
55
6- sourceCompatibility = 1.8
6+ java {
7+ sourceCompatibility = JavaVersion . VERSION_21
8+ targetCompatibility = JavaVersion . VERSION_21
9+ }
710
8- if (JavaVersion . current() != JavaVersion . VERSION_1_8 ) {
9- throw new GradleException (" The engine must be run using the Java 8 JDK" )
11+ if (JavaVersion . current() < JavaVersion . VERSION_21 ) {
12+ throw new GradleException (" The engine must be run using >= Java 21 JDK" )
1013}
1114
1215// Avoid weird configuration-time dependency bugs
@@ -60,6 +63,11 @@ task headless(type: JavaExec, dependsOn: [':engine:build', ':example-bots:build'
6063 classpath = files(serverJar) + project(' :example-bots' ). sourceSets. main. output + configurations. scala
6164 args = [' -c=-' ]
6265 jvmArgs = [
66+ ' --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED' ,
67+ ' --add-opens=java.base/jdk.internal.math=ALL-UNNAMED' ,
68+ ' --add-opens=java.base/jdk.internal.util=ALL-UNNAMED' ,
69+ ' --add-opens=java.base/jdk.internal.access=ALL-UNNAMED' ,
70+ ' --add-opens=java.base/sun.security.action=ALL-UNNAMED' ,
6371 ' -Dbc.server.wait-for-client=' + (project. findProperty(' waitForClient' ) ?: ' false' ),
6472 ' -Dbc.server.mode=headless' ,
6573 ' -Dbc.server.map-path=maps' ,
@@ -112,10 +120,10 @@ task release_main(type: Jar, dependsOn: [':engine:build']) {
112120 Files . write(f_version. toPath(), [project. property(" release_version" )]);
113121 }
114122
115- archiveBaseName = " battlecode" ;
123+ archiveBaseName. set( " battlecode" )
116124 if (project. hasProperty(" release_version" ))
117- archiveVersion = project. property(" release_version" );
118- destinationDirectory = project. projectDir;
125+ archiveVersion. set( project. property(" release_version" ))
126+ destinationDirectory. set( project. projectDir)
119127
120128 FileCollection src = files(f_version);
121129 src + = zipTree(serverJar);
@@ -133,19 +141,21 @@ task release_docs(type: Jar, dependsOn: [':engine:javadoc']) {
133141 throw new InvalidUserDataException (" Must provide property \" release_version\" " )
134142 }
135143
136- archiveBaseName = " battlecode-javadoc"
144+ archiveBaseName. set( " battlecode-javadoc" )
137145 if (project. hasProperty(" release_version" ))
138- archiveVersion = project. property(" release_version" );
139- destinationDirectory = project. projectDir;
146+ archiveVersion. set(project. property(" release_version" ))
147+ destinationDirectory. set(project. projectDir)
148+ archiveClassifier. set(' javadoc' )
140149
141150 from new File (project(" :engine" ). docsDir, " javadoc" )
142151}
143152
144153task release_sources (type : Jar , dependsOn : classes) {
145- archiveBaseName = " battlecode-source"
154+ archiveBaseName. set( " battlecode-source" )
146155 if (project. hasProperty(" release_version" ))
147- archiveVersion = project. property(" release_version" );
148- destinationDirectory = project. projectDir;
156+ archiveVersion. set(project. property(" release_version" ))
157+ destinationDirectory. set(project. projectDir)
158+ archiveClassifier. set(' sources' )
149159
150160 from project(" :engine" ). sourceSets. main. allSource
151161}
@@ -158,14 +168,8 @@ publishing {
158168 version project. findProperty(' release_version' ) ?: ' NONSENSE'
159169
160170 artifact release_main
161-
162- artifact release_docs {
163- classifier ' javadoc'
164- }
165-
166- artifact release_sources {
167- classifier ' sources'
168- }
171+ artifact release_docs
172+ artifact release_sources
169173 }
170174
171175 client(MavenPublication ) {
0 commit comments