Skip to content

Commit 50d4f85

Browse files
committed
updated build script, added server api version.
1 parent ac0ef5e commit 50d4f85

File tree

4 files changed

+120
-101
lines changed

4 files changed

+120
-101
lines changed

build-native.xml

Lines changed: 80 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project name="jMonkeyBuilder" default="do-deploy" basedir="native-build"
2+
<project name="NativeBuild" default="buildNativeBundle" basedir="native-build"
33
xmlns:fx="javafx:com.sun.javafx.tools.ant">
44

5-
<property name="editor.version" value="1.4.0"/>
6-
<property environment="env"/>
7-
8-
<condition property="gradle.executable" value="${basedir}/../gradlew.bat"
9-
else="${basedir}/../gradlew">
10-
<os family="windows"/>
11-
</condition>
12-
13-
<target name="prepare-dependences">
14-
<exec executable="${gradle.executable}" dir="../">
15-
<arg value="copyToLib"/>
16-
</exec>
17-
</target>
18-
19-
<target name="init-fx-tasks">
5+
<target name="initFXAntTasks">
206
<path id="fxant">
217
<filelist>
228
<file name="${java.home}/../lib/ant-javafx.jar"/>
@@ -30,166 +16,166 @@
3016
classpathref="fxant"/>
3117
</target>
3218

33-
<target name="setup-staging-area" depends="prepare-dependences">
34-
<delete dir="externalLibs"/>
35-
<delete dir="project"/>
36-
<delete dir="licenses"/>
37-
<delete dir="projectRefs"/>
38-
<delete dir="deploy"/>
39-
<delete dir="dist"/>
40-
<delete dir="embedded-plugins"/>
19+
<target name="prepareNativeBuild" depends="prepareDependencies">
20+
<delete dir="${basedir}/externalLibs"/>
21+
<delete dir="${basedir}/project"/>
22+
<delete dir="${basedir}/licenses"/>
23+
<delete dir="${basedir}/projectRefs"/>
24+
<delete dir="${basedir}/deploy"/>
25+
<delete dir="${basedir}/dist"/>
26+
<delete dir="${basedir}/embedded-plugins"/>
4127

42-
<mkdir dir="externalLibs"/>
28+
<mkdir dir="${basedir}/externalLibs"/>
4329

44-
<copy todir="externalLibs">
45-
<fileset dir="../build/dependences" />
30+
<copy todir="${basedir}/externalLibs">
31+
<fileset dir="${basedir}/../build/dependencies" />
4632
</copy>
4733

48-
<mkdir dir="project"/>
49-
<copy todir="project">
50-
<fileset dir="../src/main/">
34+
<mkdir dir="${basedir}/project"/>
35+
<copy todir="${basedir}/project">
36+
<fileset dir="${basedir}/../src/main/">
5137
<include name="java/**"/>
5238
<include name="resources/**"/>
5339
</fileset>
5440
</copy>
5541

56-
<mkdir dir="licenses"/>
57-
<mkdir dir="licenses/libraries-licenses"/>
58-
<copy todir="licenses">
59-
<fileset dir="../">
42+
<mkdir dir="${basedir}/licenses"/>
43+
<mkdir dir="${basedir}/licenses/libraries-licenses"/>
44+
<copy todir="${basedir}/licenses">
45+
<fileset dir="${basedir}/../">
6046
<include name="LICENSE"/>
6147
</fileset>
6248
</copy>
63-
<copy todir="licenses/libraries-licenses">
64-
<fileset dir="../libraries-licenses">
49+
<copy todir="${basedir}/licenses/libraries-licenses">
50+
<fileset dir="${basedir}/../libraries-licenses">
6551
<include name="*"/>
6652
</fileset>
6753
</copy>
6854

69-
<mkdir dir="embedded-plugins"/>
70-
<copy todir="embedded-plugins">
71-
<fileset dir="../embedded-plugins" />
55+
<mkdir dir="${basedir}/embedded-plugins"/>
56+
<copy todir="${basedir}/embedded-plugins">
57+
<fileset dir="${basedir}/../embedded-plugins" />
7258
</copy>
7359

74-
<mkdir dir="projectRefs"/>
60+
<mkdir dir="${basedir}/projectRefs"/>
7561
</target>
7662

77-
<target name='do-compile'>
78-
<delete dir="build"/>
79-
<mkdir dir="build/src"/>
80-
<mkdir dir="build/libs"/>
81-
<mkdir dir="build/classes"/>
63+
<target name="compileClassesForNativeBuild">
64+
<delete dir="${basedir}/build"/>
65+
<mkdir dir="${basedir}/build/src"/>
66+
<mkdir dir="${basedir}/build/libs"/>
67+
<mkdir dir="${basedir}/build/classes"/>
8268

8369
<!-- Copy project-libs references -->
84-
<copy todir="build/libs">
85-
<fileset dir="externalLibs"/>
70+
<copy todir="${basedir}/build/libs">
71+
<fileset dir="${basedir}/externalLibs"/>
8672
</copy>
8773

8874
<!-- Copy project references -->
8975

9076
<!-- Copy project sources itself -->
91-
<copy todir="build/src">
92-
<fileset dir="project/java">
77+
<copy todir="${basedir}/build/src">
78+
<fileset dir="${basedir}/project/java">
9379
<include name="**/*"/>
9480
</fileset>
95-
<fileset dir="project/resources">
81+
<fileset dir="${basedir}/project/resources">
9682
<include name="**/*"/>
9783
</fileset>
9884
</copy>
9985

100-
<javac includeantruntime="false" source="1.8" target="1.8" srcdir="build/src" destdir="build/classes"
86+
<javac includeantruntime="false" source="${javaSourceVersion}" target="${javaTargetVersion}"
87+
srcdir="${basedir}/build/src" destdir="${basedir}/build/classes"
10188
encoding="UTF-8">
10289
<classpath>
103-
<fileset dir="build/libs">
90+
<fileset dir="${basedir}/build/libs">
10491
<include name="*"/>
10592
</fileset>
10693
</classpath>
10794
</javac>
10895

10996
<!-- Copy over none Java-Files -->
110-
<copy todir="build/classes">
111-
<fileset dir="project/java">
97+
<copy todir="${basedir}/build/classes">
98+
<fileset dir="${basedir}/project/java">
11299
<exclude name="**/*.java"/>
113100
</fileset>
114-
<fileset dir="project/resources">
101+
<fileset dir="${basedir}/project/resources">
115102
<include name="**/*"/>
116103
</fileset>
117104
</copy>
118105
</target>
119106

120-
<target name="do-deploy" depends="setup-staging-area, do-compile, init-fx-tasks">
121-
<delete file="dist"/>
122-
<delete file="deploy"/>
107+
<target name="buildNativeBundle" depends="prepareNativeBuild, compileClassesForNativeBuild, initFXAntTasks">
108+
<delete file="${basedir}/dist"/>
109+
<delete file="${basedir}/deploy"/>
123110

124-
<mkdir dir="dist"/>
125-
<mkdir dir="dist/libs"/>
126-
<mkdir dir="dist/licenses"/>
127-
<mkdir dir="dist/embedded-plugins"/>
111+
<mkdir dir="${basedir}/dist"/>
112+
<mkdir dir="${basedir}/dist/libs"/>
113+
<mkdir dir="${basedir}/dist/licenses"/>
114+
<mkdir dir="${basedir}/dist/embedded-plugins"/>
128115

129-
<copy todir="dist/licenses">
130-
<fileset dir="licenses">
116+
<copy todir="${basedir}/dist/licenses">
117+
<fileset dir="${basedir}/licenses">
131118
<include name="*"/>
132119
</fileset>
133120
</copy>
134121

135-
<copy todir="dist/licenses/libraries-licenses">
136-
<fileset dir="licenses/libraries-licenses">
122+
<copy todir="${basedir}/dist/licenses/libraries-licenses">
123+
<fileset dir="${basedir}/licenses/libraries-licenses">
137124
<include name="*"/>
138125
</fileset>
139126
</copy>
140127

141-
<copy todir="dist/embedded-plugins">
142-
<fileset dir="embedded-plugins" />
128+
<copy todir="${basedir}/dist/embedded-plugins">
129+
<fileset dir="${basedir}/embedded-plugins" />
143130
</copy>
144131

145-
<copy todir="dist/libs">
146-
<fileset dir="externalLibs">
132+
<copy todir="${basedir}/dist/libs">
133+
<fileset dir="${basedir}/externalLibs">
147134
<include name="*"/>
148135
</fileset>
149136
</copy>
150137

151138
<fx:resources id="appRes" >
152-
<fx:fileset dir="dist" includes="jmonkeybuilder.jar"/>
153-
<fx:fileset dir="dist" includes="licenses/*"/>
154-
<fx:fileset dir="dist" includes="licenses/libraries-licenses/*"/>
155-
<fx:fileset dir="dist" includes="libs/*"/>
156-
<fx:fileset dir="dist" includes="embedded-plugins/*/*"/>
157-
<fx:fileset dir="dist" includes="embedded-plugins/*/*/*"/>
158-
<fx:fileset dir="package"/>
139+
<fx:fileset dir="${basedir}/dist" includes="jmonkeybuilder.jar"/>
140+
<fx:fileset dir="${basedir}/dist" includes="licenses/*"/>
141+
<fx:fileset dir="${basedir}/dist" includes="licenses/libraries-licenses/*"/>
142+
<fx:fileset dir="${basedir}/dist" includes="libs/*"/>
143+
<fx:fileset dir="${basedir}/dist" includes="embedded-plugins/*/*"/>
144+
<fx:fileset dir="${basedir}/dist" includes="embedded-plugins/*/*/*"/>
145+
<fx:fileset dir="${basedir}/package"/>
159146
</fx:resources>
160147

161148
<fx:application id="fxApplication"
162-
name="jMonkeyBuilder"
163-
mainClass="com.ss.editor.JFXApplication"
149+
name="${applicationTitle}"
150+
mainClass="${applicationMainClass}"
164151
toolkit="fx"
165-
version="${editor.version}"/>
152+
version="${applicationVersion}"/>
166153

167-
<mkdir dir="build/classes/META-INF"/>
154+
<mkdir dir="${basedir}/build/classes/META-INF"/>
168155

169-
<fx:jar destfile="dist/jmonkeybuilder.jar">
156+
<fx:jar destfile="${basedir}/dist/jmonkeybuilder.jar">
170157
<fx:application refid="fxApplication"/>
171-
<fileset dir="build/classes"/>
158+
<fileset dir="${basedir}/build/classes"/>
172159
<fx:resources refid="appRes"/>
173-
174160
<manifest>
175-
<attribute name="Implementation-Vendor" value="[email protected]"/>
176-
<attribute name="Implementation-Title" value="jMonkeyBuilder"/>
177-
<attribute name="Implementation-Version" value="${editor.version}"/>
161+
<attribute name="Implementation-Vendor" value="${applicationVendor}"/>
162+
<attribute name="Implementation-Title" value="${applicationTitle}"/>
163+
<attribute name="Implementation-Version" value="${applicationVersion}"/>
178164
</manifest>
179165
</fx:jar>
180166

181-
<replace file="package/linux/control" token="@version@" value="${editor.version}"/>
182-
<replace file="package/windows/jMonkeyBuilder.wxs" token="@version@" value="${editor.version}"/>
167+
<replace file="${basedir}/package/linux/control" token="@version@" value="${applicationVersion}"/>
168+
<replace file="${basedir}/package/windows/jMonkeyBuilder.wxs" token="@version@" value="${applicationVersion}"/>
183169

184-
<mkdir dir="deploy"/>
170+
<mkdir dir="${basedir}/deploy"/>
185171
<!-- Need to use ${basedir} because somehow the ant task is calculating the directory differently -->
186172
<fx:deploy
187173
embedJNLP="false"
188174
extension="false"
189175
includeDT="false"
190176
offlineAllowed="true"
191177
outdir="${basedir}/deploy"
192-
outfile="jMonkeyBuilder" nativeBundles="all"
178+
outfile="${applicationTitle}" nativeBundles="all"
193179
updatemode="background" verbose="true">
194180

195181
<fx:platform>
@@ -201,13 +187,13 @@
201187

202188
<info category="graphics"
203189
description="The 3D Editor for jMonkeyEngine 3.2"
204-
email="[email protected]" license="Freeware" title="jMonkeyBuilder" vendor="[email protected]"/>
190+
email="[email protected]" license="Freeware" title="${applicationTitle}" vendor="${applicationVendor}"/>
205191

206192
<application refId="fxApplication"/>
207193
<resources refid="appRes"/>
208194
</fx:deploy>
209195

210-
<replace file="package/linux/control" token="${editor.version}" value="@version@"/>
211-
<replace file="package/windows/jMonkeyBuilder.wxs" token="${editor.version}" value="@version@"/>
196+
<replace file="${basedir}/package/linux/control" token="${applicationVersion}" value="@version@"/>
197+
<replace file="${basedir}/package/windows/jMonkeyBuilder.wxs" token="${applicationVersion}" value="@version@"/>
212198
</target>
213199
</project>

build.gradle

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ apply plugin: 'idea'
1313
apply plugin: 'org.junit.platform.gradle.plugin'
1414

1515
group = 'com.spaceshift'
16-
version = '1.4.0'
16+
version = '1.5.0'
1717

1818
sourceCompatibility = 1.8
1919
targetCompatibility = 1.8
@@ -23,7 +23,9 @@ compileTestJava {
2323
targetCompatibility = 1.8
2424
options.compilerArgs += '-parameters'
2525
}
26-
26+
ext.applicationMainClass = "com.ss.editor.JFXApplication"
27+
ext.applicationVendor = "[email protected]"
28+
ext.applicationTitle = "jMonkeyBuilder"
2729
ext.jmeVersion = "upgrade_lwjgl3-SNAPSHOT"
2830
ext.jme3_xbuf_version = '0.9.1'
2931
ext.lwjglVersion = "3.1.5"
@@ -151,17 +153,28 @@ dependencies {
151153
testCompile "org.junit.platform:junit-platform-launcher:$junitPlatformVersion"
152154
}
153155

154-
task copyToLib(type: Copy) {
156+
ant.importBuild('build-native.xml')
157+
ant.basedir = new File(buildDir.getParentFile(), "native-build")
158+
ant.properties.javaSourceVersion = sourceCompatibility
159+
ant.properties.javaTargetVersion = targetCompatibility
160+
ant.properties.applicationJarName = name + ".jar"
161+
ant.properties.applicationMainClass = ext.applicationMainClass
162+
ant.properties.applicationVendor = ext.applicationVendor
163+
ant.properties.applicationTitle = ext.applicationTitle
164+
ant.properties.applicationVersion = version
165+
166+
task prepareDependencies(type: Copy) {
155167

156168
doFirst {
157-
println("delete " + "$buildDir/dependences")
158-
GFileUtils.deleteDirectory(new File("$buildDir/dependences"))
169+
println("delete " + "$buildDir/dependencies")
170+
GFileUtils.deleteDirectory(new File("$buildDir/dependencies"))
159171
}
160172

161-
into "$buildDir/dependences"
173+
into "$buildDir/dependencies"
162174
from configurations.runtime
163175
}
164176

177+
165178
task sourcesJar(type: Jar, dependsOn: classes) {
166179
classifier = 'sources'
167180
from sourceSets.main.allSource

src/main/java/com/ss/editor/config/CommandLineConfig.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.ss.editor.config;
22

3+
import java.util.Map;
4+
35
/**
46
* Parser the configuration from command-line arguments.
57
*
@@ -41,5 +43,17 @@ public static void args(final String[] args) {
4143
Config.ENABLE_PBR = Boolean.parseBoolean(value);
4244
}
4345
}
46+
47+
System.out.println(System.getenv());
48+
49+
final Map<String, String> env = System.getenv();
50+
if (env.containsKey("Server.api.version")) {
51+
final int version = Integer.parseInt(env.get("Server.api.version"));
52+
if (version == Config.SERVER_API_VERSION) {
53+
System.exit(100);
54+
} else {
55+
System.exit(-1);
56+
}
57+
}
4458
}
4559
}

src/main/java/com/ss/editor/config/Config.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,20 @@ public final class Config {
4242
* The editor's version.
4343
*/
4444
@NotNull
45-
public static final Version APP_VERSION = new Version("1.4.0");
45+
public static final Version APP_VERSION = new Version("1.5.0");
4646

4747
/**
4848
* The string version.
4949
*/
5050
@NotNull
5151
public static final String STRING_VERSION = APP_VERSION.toString();
5252

53+
/**
54+
* The server API version.
55+
*/
56+
@NotNull
57+
public static final int SERVER_API_VERSION = 1;
58+
5359
/**
5460
* The path to application folder.
5561
*/

0 commit comments

Comments
 (0)