Commits

md_5 authored 9c3baed030d
Do version download / check before initial clone
No tags

src/main/java/org/spigotmc/builder/Builder.java

Modified
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" );

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut