From 537ccfb99bda84ea2f68d0c3b348de4570afb074 Mon Sep 17 00:00:00 2001 From: nik Date: Mon, 9 Jul 2012 12:54:25 +0400 Subject: [PATCH] jps build: idea sdk type supported --- .idea/modules.xml | 1 + build/scripts/layouts.gant | 10 +++++- .../src/org/jetbrains/jps/JavaSdk.groovy | 8 ++--- .../src/org/jetbrains/jps/JavaSdkImpl.groovy | 4 +-- jps/model/src/org/jetbrains/jps/Sdk.groovy | 2 +- .../org/jetbrains/jps/idea/JavaSdkType.groovy | 2 +- .../jetbrains/jps/android/AndroidSdk.groovy | 2 +- .../devkit/jps-plugin/devkit-jps-plugin.iml | 13 +++++++ .../org.jetbrains.jps.idea.SdkTypeService | 1 + .../idea/devkit/jps/IdeaSdkType.java | 35 +++++++++++++++++++ plugins/devkit/resources/META-INF/plugin.xml | 1 + 11 files changed, 67 insertions(+), 12 deletions(-) create mode 100644 plugins/devkit/jps-plugin/devkit-jps-plugin.iml create mode 100644 plugins/devkit/jps-plugin/src/META-INF/services/org.jetbrains.jps.idea.SdkTypeService create mode 100644 plugins/devkit/jps-plugin/src/org/jetbrains/idea/devkit/jps/IdeaSdkType.java diff --git a/.idea/modules.xml b/.idea/modules.xml index d943f90d0368..272cdd91cc4f 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -33,6 +33,7 @@ + diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index bd715094ffba..3ec5b69db1f0 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -199,7 +199,7 @@ def layoutFull(String home, String targetDirectory, String patchedDescriptorDir public def layoutCommunityPlugins(String home) { dir("plugins") { - def simplePlugins = ["commander", "copyright", "properties", "java-i18n", "devkit", "eclipse", "hg4idea", "github", "ui-designer-new"] + def simplePlugins = ["commander", "copyright", "properties", "java-i18n", "eclipse", "hg4idea", "github", "ui-designer-new"] simplePlugins.each { layoutPlugin it @@ -358,6 +358,14 @@ public def layoutCommunityPlugins(String home) { } } + layoutPlugin("devkit") { + dir("jps") { + jar("devkit-jps-plugin.jar") { + module("devkit-jps-plugin") + } + } + } + layoutPlugin("android") { fileset(dir: "${home}/plugins/android/lib") { include(name: "**/*.jar") diff --git a/jps/model/src/org/jetbrains/jps/JavaSdk.groovy b/jps/model/src/org/jetbrains/jps/JavaSdk.groovy index d7496afcdac0..3d23c526a4c5 100644 --- a/jps/model/src/org/jetbrains/jps/JavaSdk.groovy +++ b/jps/model/src/org/jetbrains/jps/JavaSdk.groovy @@ -6,12 +6,8 @@ import org.jetbrains.annotations.Nullable * @author Eugene.Kudelevsky */ public abstract class JavaSdk extends Sdk { - def JavaSdk(Project project, String name, String jdkPath, Closure initializer) { - super(project, name, initializer) - } - - JavaSdk(project, name, initializer) { - super(project, name, initializer) + JavaSdk(project, name) { + super(project, name) } @Nullable diff --git a/jps/model/src/org/jetbrains/jps/JavaSdkImpl.groovy b/jps/model/src/org/jetbrains/jps/JavaSdkImpl.groovy index f6a37f44a8f5..c7da84dff480 100644 --- a/jps/model/src/org/jetbrains/jps/JavaSdkImpl.groovy +++ b/jps/model/src/org/jetbrains/jps/JavaSdkImpl.groovy @@ -9,8 +9,8 @@ class JavaSdkImpl extends JavaSdk { String jdkPath @Nullable String version - def JavaSdkImpl(Project project, String name, String version, String jdkPath, Closure initializer) { - super(project, name, initializer) + def JavaSdkImpl(Project project, String name, String version, String jdkPath) { + super(project, name) this.version = version this.jdkPath = jdkPath } diff --git a/jps/model/src/org/jetbrains/jps/Sdk.groovy b/jps/model/src/org/jetbrains/jps/Sdk.groovy index bb41343ad91d..2634327f7050 100644 --- a/jps/model/src/org/jetbrains/jps/Sdk.groovy +++ b/jps/model/src/org/jetbrains/jps/Sdk.groovy @@ -4,7 +4,7 @@ package org.jetbrains.jps * @author nik */ class Sdk extends Library { - Sdk(project, name, initializer) { + Sdk(project, name) { super(project, name); } } diff --git a/jps/model/src/org/jetbrains/jps/idea/JavaSdkType.groovy b/jps/model/src/org/jetbrains/jps/idea/JavaSdkType.groovy index 891f1dd54272..b83b79845aa3 100644 --- a/jps/model/src/org/jetbrains/jps/idea/JavaSdkType.groovy +++ b/jps/model/src/org/jetbrains/jps/idea/JavaSdkType.groovy @@ -14,6 +14,6 @@ class JavaSdkType extends SdkTypeService { @Override Sdk createSdk(Project project, String name, String version, String homePath, Node additionalData) { - return new JavaSdkImpl(project, name, version, homePath, {}) + return new JavaSdkImpl(project, name, version, homePath) } } diff --git a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidSdk.groovy b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidSdk.groovy index 6e805e0e06bc..3c159230492e 100644 --- a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidSdk.groovy +++ b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidSdk.groovy @@ -13,7 +13,7 @@ class AndroidSdk extends JavaSdk { final String javaSdkName; AndroidSdk(Project project, String name, String sdkPath, String javaSdkName, String buildTargetHashString) { - super(project, name, '', {}) + super(project, name) this.sdkPath = sdkPath this.buildTargetHashString = buildTargetHashString this.javaSdkName = javaSdkName; diff --git a/plugins/devkit/jps-plugin/devkit-jps-plugin.iml b/plugins/devkit/jps-plugin/devkit-jps-plugin.iml new file mode 100644 index 000000000000..d862612d0783 --- /dev/null +++ b/plugins/devkit/jps-plugin/devkit-jps-plugin.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/plugins/devkit/jps-plugin/src/META-INF/services/org.jetbrains.jps.idea.SdkTypeService b/plugins/devkit/jps-plugin/src/META-INF/services/org.jetbrains.jps.idea.SdkTypeService new file mode 100644 index 000000000000..91e70aae6fe8 --- /dev/null +++ b/plugins/devkit/jps-plugin/src/META-INF/services/org.jetbrains.jps.idea.SdkTypeService @@ -0,0 +1 @@ +org.jetbrains.idea.devkit.jps.IdeaSdkType \ No newline at end of file diff --git a/plugins/devkit/jps-plugin/src/org/jetbrains/idea/devkit/jps/IdeaSdkType.java b/plugins/devkit/jps-plugin/src/org/jetbrains/idea/devkit/jps/IdeaSdkType.java new file mode 100644 index 000000000000..93ffad404087 --- /dev/null +++ b/plugins/devkit/jps-plugin/src/org/jetbrains/idea/devkit/jps/IdeaSdkType.java @@ -0,0 +1,35 @@ +package org.jetbrains.idea.devkit.jps;/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import groovy.util.Node; +import org.jetbrains.jps.JavaSdkImpl; +import org.jetbrains.jps.Project; +import org.jetbrains.jps.Sdk; +import org.jetbrains.jps.idea.SdkTypeService; + +/** + * @author nik + */ +public class IdeaSdkType extends SdkTypeService { + public IdeaSdkType() { + super("IDEA JDK"); + } + + @Override + public Sdk createSdk(Project project, String name, String version, String homePath, Node additionalData) { + return new JavaSdkImpl(project, name, version, homePath); + } +} diff --git a/plugins/devkit/resources/META-INF/plugin.xml b/plugins/devkit/resources/META-INF/plugin.xml index aa5791180304..41ca6740d7a8 100644 --- a/plugins/devkit/resources/META-INF/plugin.xml +++ b/plugins/devkit/resources/META-INF/plugin.xml @@ -31,6 +31,7 @@ +