Commits
md_5 authored 9c3baed030d
250 250 | } |
251 251 | try |
252 252 | { |
253 253 | runProcess( CWD, "git", "config", "--global", "--includes", "user.email" ); |
254 254 | } catch ( Exception ex ) |
255 255 | { |
256 256 | System.out.println( "Git email not set, setting it to default value." ); |
257 257 | runProcess( CWD, "git", "config", "--global", "user.email", "unconfigured@null.spigotmc.org" ); |
258 258 | } |
259 259 | |
260 + | if ( !dontUpdate && !dev ) |
261 + | { |
262 + | String askedVersion = options.valueOf( jenkinsVersion ); |
263 + | System.out.println( "Attempting to build version: '" + askedVersion + "' use --rev <version> to override" ); |
264 + | |
265 + | String verInfo; |
266 + | try |
267 + | { |
268 + | verInfo = get( "https://hub.spigotmc.org/versions/" + askedVersion + ".json" ); |
269 + | } catch ( IOException ex ) |
270 + | { |
271 + | System.err.println( "Could not get version " + askedVersion + " does it exist? Try another version or use 'latest'" ); |
272 + | ex.printStackTrace(); |
273 + | System.exit( 1 ); |
274 + | return; |
275 + | } |
276 + | System.out.println( "Found version" ); |
277 + | System.out.println( verInfo ); |
278 + | |
279 + | buildInfo = new Gson().fromJson( verInfo, BuildInfo.class ); |
280 + | |
281 + | if ( buildNumber != -1 && buildInfo.getToolsVersion() != -1 && buildNumber < buildInfo.getToolsVersion() ) |
282 + | { |
283 + | System.err.println( "**** Your BuildTools is out of date and will not build the requested version. Please grab a new copy from https://www.spigotmc.org/go/buildtools-dl" ); |
284 + | System.exit( 1 ); |
285 + | } |
286 + | |
287 + | if ( !options.has( disableJavaCheck ) ) |
288 + | { |
289 + | if ( buildInfo.getJavaVersions() == null ) |
290 + | { |
291 + | buildInfo.setJavaVersions( new int[] |
292 + | { |
293 + | JavaVersion.JAVA_7.getVersion(), JavaVersion.JAVA_8.getVersion() |
294 + | } ); |
295 + | } |
296 + | |
297 + | Preconditions.checkArgument( buildInfo.getJavaVersions().length == 2, "Expected only two Java versions, got %s", JavaVersion.printVersions( buildInfo.getJavaVersions() ) ); |
298 + | |
299 + | JavaVersion curVersion = JavaVersion.getCurrentVersion(); |
300 + | JavaVersion minVersion = JavaVersion.getByVersion( buildInfo.getJavaVersions()[0] ); |
301 + | JavaVersion maxVersion = JavaVersion.getByVersion( buildInfo.getJavaVersions()[1] ); |
302 + | |
303 + | if ( curVersion.getVersion() < minVersion.getVersion() || curVersion.getVersion() > maxVersion.getVersion() ) |
304 + | { |
305 + | System.err.println( "*** The version you have requested to build requires Java versions between " + JavaVersion.printVersions( buildInfo.getJavaVersions() ) + ", but you are using " + curVersion ); |
306 + | System.err.println( "*** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release." ); |
307 + | System.exit( 1 ); |
308 + | } |
309 + | } |
310 + | } |
311 + | |
260 312 | File workDir = new File( "work" ); |
261 313 | workDir.mkdir(); |
262 314 | |
263 315 | File bukkit = new File( "Bukkit" ); |
264 316 | if ( !bukkit.exists() || !containsGit( bukkit ) ) |
265 317 | { |
266 318 | clone( "https://hub.spigotmc.org/stash/scm/spigot/bukkit.git", bukkit ); |
267 319 | } |
268 320 | |
269 321 | File craftBukkit = new File( "CraftBukkit" ); |
304 356 | } |
305 357 | } |
306 358 | |
307 359 | Git bukkitGit = Git.open( bukkit ); |
308 360 | Git craftBukkitGit = Git.open( craftBukkit ); |
309 361 | Git spigotGit = Git.open( spigot ); |
310 362 | Git buildGit = Git.open( buildData ); |
311 363 | |
312 364 | if ( !dontUpdate ) |
313 365 | { |
314 - | if ( !dev ) |
315 - | { |
316 - | String askedVersion = options.valueOf( jenkinsVersion ); |
317 - | System.out.println( "Attempting to build version: '" + askedVersion + "' use --rev <version> to override" ); |
318 - | |
319 - | String verInfo; |
320 - | try |
321 - | { |
322 - | verInfo = get( "https://hub.spigotmc.org/versions/" + askedVersion + ".json" ); |
323 - | } catch ( IOException ex ) |
324 - | { |
325 - | System.err.println( "Could not get version " + askedVersion + " does it exist? Try another version or use 'latest'" ); |
326 - | ex.printStackTrace(); |
327 - | System.exit( 1 ); |
328 - | return; |
329 - | } |
330 - | System.out.println( "Found version" ); |
331 - | System.out.println( verInfo ); |
332 - | |
333 - | buildInfo = new Gson().fromJson( verInfo, BuildInfo.class ); |
334 - | |
335 - | if ( buildNumber != -1 && buildInfo.getToolsVersion() != -1 && buildNumber < buildInfo.getToolsVersion() ) |
336 - | { |
337 - | System.err.println( "**** Your BuildTools is out of date and will not build the requested version. Please grab a new copy from https://www.spigotmc.org/go/buildtools-dl" ); |
338 - | System.exit( 1 ); |
339 - | } |
340 - | |
341 - | if ( !options.has( disableJavaCheck ) ) |
342 - | { |
343 - | if ( buildInfo.getJavaVersions() == null ) |
344 - | { |
345 - | buildInfo.setJavaVersions( new int[] |
346 - | { |
347 - | JavaVersion.JAVA_7.getVersion(), JavaVersion.JAVA_8.getVersion() |
348 - | } ); |
349 - | } |
350 - | |
351 - | Preconditions.checkArgument( buildInfo.getJavaVersions().length == 2, "Expected only two Java versions, got %s", JavaVersion.printVersions( buildInfo.getJavaVersions() ) ); |
352 - | |
353 - | JavaVersion curVersion = JavaVersion.getCurrentVersion(); |
354 - | JavaVersion minVersion = JavaVersion.getByVersion( buildInfo.getJavaVersions()[0] ); |
355 - | JavaVersion maxVersion = JavaVersion.getByVersion( buildInfo.getJavaVersions()[1] ); |
356 - | |
357 - | if ( curVersion.getVersion() < minVersion.getVersion() || curVersion.getVersion() > maxVersion.getVersion() ) |
358 - | { |
359 - | System.err.println( "*** The version you have requested to build requires Java versions between " + JavaVersion.printVersions( buildInfo.getJavaVersions() ) + ", but you are using " + curVersion ); |
360 - | System.err.println( "*** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release." ); |
361 - | System.exit( 1 ); |
362 - | } |
363 - | } |
364 - | } |
365 - | |
366 366 | boolean buildDataChanged = pull( buildGit, buildInfo.getRefs().getBuildData() ); |
367 367 | boolean bukkitChanged = pull( bukkitGit, buildInfo.getRefs().getBukkit() ); |
368 368 | boolean craftBukkitChanged = pull( craftBukkitGit, buildInfo.getRefs().getCraftBukkit() ); |
369 369 | boolean spigotChanged = pull( spigotGit, buildInfo.getRefs().getSpigot() ); |
370 370 | |
371 371 | // Checks if any of the 4 repositories have been updated via a fetch, the --compile-if-changed flag is set and none of the repositories were cloned in this run. |
372 372 | if ( !buildDataChanged && !bukkitChanged && !craftBukkitChanged && !spigotChanged && options.has( compileIfChanged ) && !didClone ) |
373 373 | { |
374 374 | System.out.println( "*** No changes detected in any of the repositories!" ); |
375 375 | System.out.println( "*** Exiting due to the --compile-if-changes" ); |