File: auto-adjust-language-level.patch

package info (click to toggle)
plexus-compiler 2.8.5-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,012 kB
  • sloc: java: 6,809; xml: 590; makefile: 2
file content (42 lines) | stat: -rw-r--r-- 1,927 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Description: Adjust the source/target level automatically for building with recent JDKs
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/plexus-compilers/plexus-compiler-javac/src/main/java/org/codehaus/plexus/compiler/javac/JavacCompiler.java
+++ b/plexus-compilers/plexus-compiler-javac/src/main/java/org/codehaus/plexus/compiler/javac/JavacCompiler.java
@@ -341,12 +341,20 @@
         }
         else
         {
+            List<String> unsupportedLanguageLevels = java.util.Arrays.asList(new String[]{"1.1", "1.2", "1.3", "1.4", "1.5", "5"});
+
             // TODO: this could be much improved
             if ( StringUtils.isEmpty( config.getTargetVersion() ) )
             {
                 // Required, or it defaults to the target of your JDK (eg 1.5)
                 args.add( "-target" );
-                args.add( "1.1" );
+                args.add( "1.7" );
+            }
+            else if ( unsupportedLanguageLevels.contains( config.getTargetVersion() ) )
+            {
+                System.err.println( "Use of target " + config.getTargetVersion() + " is no longer supported, switching to 1.7" );
+                args.add( "-target" );
+                args.add( "1.7" );
             }
             else
             {
@@ -358,7 +366,13 @@
             {
                 // If omitted, later JDKs complain about a 1.1 target
                 args.add( "-source" );
-                args.add( "1.3" );
+                args.add( "1.7" );
+            }
+            else if ( !suppressSource( config ) && unsupportedLanguageLevels.contains( config.getSourceVersion() ) )
+            {
+                System.err.println( "Use of source " + config.getSourceVersion() + " is no longer supported, switching to 1.7" );
+                args.add( "-source" );
+                args.add( "1.7" );
             }
             else if ( !suppressSource( config ) )
             {