From 480596f54033c172d97919ee247c7a01dabf689a Mon Sep 17 00:00:00 2001 From: andxu Date: Tue, 30 Oct 2018 11:07:17 +0800 Subject: [PATCH 1/2] fix issue: java11 template cannot be found. --- src/controllers/projectController.ts | 5 ++++- templates/Java11/.classpath | 6 ++++++ templates/Java11/.settings/org.eclipse.jdt.core.prefs | 11 +++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 templates/Java11/.classpath create mode 100644 templates/Java11/.settings/org.eclipse.jdt.core.prefs diff --git a/src/controllers/projectController.ts b/src/controllers/projectController.ts index 39df3d3a..1e37ff3d 100644 --- a/src/controllers/projectController.ts +++ b/src/controllers/projectController.ts @@ -55,7 +55,10 @@ export class ProjectController { const projectFile: string = path.join(projectRoot, ".project"); try { await fse.ensureDir(projectRoot); - + if (!await fse.pathExists(path.join(templateRoot, `Java${javaVersion}`))) { + // fall back to 8 + javaVersion = 8; + } await Promise.all([ fse.copy(path.join(templateRoot, "App.java.sample"), path.join(projectRoot, "src", "app", "App.java")), fse.copy(path.join(templateRoot, `Java${javaVersion}`), projectRoot), diff --git a/templates/Java11/.classpath b/templates/Java11/.classpath new file mode 100644 index 00000000..6df3186b --- /dev/null +++ b/templates/Java11/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/templates/Java11/.settings/org.eclipse.jdt.core.prefs b/templates/Java11/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..9387a76a --- /dev/null +++ b/templates/Java11/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=10 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=10 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=10 From 228c51636a3a6f66f7410886a3c9a1c0e3fe8a3e Mon Sep 17 00:00:00 2001 From: andxu Date: Tue, 30 Oct 2018 11:21:39 +0800 Subject: [PATCH 2/2] 1. use jdkSpecificTemplateRoot to reduce join two times. --- src/controllers/projectController.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/controllers/projectController.ts b/src/controllers/projectController.ts index 1e37ff3d..720809a6 100644 --- a/src/controllers/projectController.ts +++ b/src/controllers/projectController.ts @@ -54,14 +54,15 @@ export class ProjectController { const templateRoot: string = path.join(this.context.extensionPath, "templates"); const projectFile: string = path.join(projectRoot, ".project"); try { - await fse.ensureDir(projectRoot); - if (!await fse.pathExists(path.join(templateRoot, `Java${javaVersion}`))) { + let jdkSpecificTemplateRoot: string = path.join(templateRoot, `Java${javaVersion}`); + if (!await fse.pathExists(jdkSpecificTemplateRoot)) { // fall back to 8 - javaVersion = 8; + jdkSpecificTemplateRoot = path.join(templateRoot, `Java8`); } + await fse.ensureDir(projectRoot); await Promise.all([ fse.copy(path.join(templateRoot, "App.java.sample"), path.join(projectRoot, "src", "app", "App.java")), - fse.copy(path.join(templateRoot, `Java${javaVersion}`), projectRoot), + fse.copy(jdkSpecificTemplateRoot, projectRoot), fse.copy(path.join(templateRoot, ".project"), path.join(projectRoot, ".project")), fse.ensureDir(path.join(projectRoot, "bin")), ]);