You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by po...@apache.org on 2017/09/03 17:33:30 UTC

[37/51] [partial] incubator-netbeans-jackpot30 git commit: INFRA-15006 Import for http://bits.netbeans.org/download/apache-donation

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/duplicates/server/web/duplicates.web.api/nbproject/project.properties
----------------------------------------------------------------------
diff --git a/duplicates/server/web/duplicates.web.api/nbproject/project.properties b/duplicates/server/web/duplicates.web.api/nbproject/project.properties
new file mode 100644
index 0000000..1f1787f
--- /dev/null
+++ b/duplicates/server/web/duplicates.web.api/nbproject/project.properties
@@ -0,0 +1,136 @@
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+#
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is NetBeans. The Initial Developer of the Original
+# Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+# Microsystems, Inc. All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+application.title=duplicates.web.api
+application.vendor=lahvac
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+    ${run.classpath}
+debug.test.classpath=\
+    ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/duplicates.web.api.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
+excludes=
+file.reference.org-netbeans-modules-parsing-lucene.jar=../../../../lib/org-netbeans-modules-parsing-lucene.jar
+file.reference.util-commons.jar=../../../../remoting/ide/api/external/util-commons.jar
+file.reference.util-pojson.jar=../../../../remoting/ide/api/external/util-pojson.jar
+includes=**
+jar.archive.disabled=${jnlp.enabled}
+jar.compress=false
+jar.index=${jnlp.enabled}
+javac.classpath=\
+    ${reference.base_web_api.jar}:\
+    ${libs.jersey.classpath}:\
+    ${libs.lucene.classpath}:\
+    ${file.reference.org-netbeans-modules-parsing-lucene.jar}:\
+    ${file.reference.util-commons.jar}:\
+    ${file.reference.util-pojson.jar}
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.processorpath=\
+    ${javac.classpath}
+javac.source=1.6
+javac.target=1.6
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+javac.test.processorpath=\
+    ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+jnlp.codebase.type=no.codebase
+jnlp.descriptor=application
+jnlp.enabled=false
+jnlp.mixed.code=default
+jnlp.offline-allowed=false
+jnlp.signed=false
+jnlp.signing=
+jnlp.signing.alias=
+jnlp.signing.keystore=
+main.class=duplicates.web.api.DuplicatesWebApi
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=default_platform
+project.base_web_api=../../../../remoting/server/web/base.web.api
+reference.base_web_api.jar=${project.base_web_api}/dist/base.web.api.jar
+run.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project.
+# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/duplicates/server/web/duplicates.web.api/nbproject/project.xml
----------------------------------------------------------------------
diff --git a/duplicates/server/web/duplicates.web.api/nbproject/project.xml b/duplicates/server/web/duplicates.web.api/nbproject/project.xml
new file mode 100644
index 0000000..76bbcc3
--- /dev/null
+++ b/duplicates/server/web/duplicates.web.api/nbproject/project.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+Contributor(s):
+
+The Original Software is NetBeans. The Initial Developer of the Original
+Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+Microsystems, Inc. All Rights Reserved.
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+-->
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.java.j2seproject</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
+            <name>duplicates.web.api</name>
+            <source-roots>
+                <root id="src.dir"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir"/>
+            </test-roots>
+        </data>
+        <libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1">
+            <definitions>../../../../lib/nblibraries.properties</definitions>
+        </libraries>
+        <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
+            <reference>
+                <foreign-project>base_web_api</foreign-project>
+                <artifact-type>jar</artifact-type>
+                <script>build.xml</script>
+                <target>jar</target>
+                <clean-target>clean</clean-target>
+                <id>jar</id>
+            </reference>
+        </references>
+    </configuration>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/duplicates/server/web/duplicates.web.api/src/org/netbeans/modules/jackpot30/backend/duplicates/api/API.java
----------------------------------------------------------------------
diff --git a/duplicates/server/web/duplicates.web.api/src/org/netbeans/modules/jackpot30/backend/duplicates/api/API.java b/duplicates/server/web/duplicates.web.api/src/org/netbeans/modules/jackpot30/backend/duplicates/api/API.java
new file mode 100644
index 0000000..4030d82
--- /dev/null
+++ b/duplicates/server/web/duplicates.web.api/src/org/netbeans/modules/jackpot30/backend/duplicates/api/API.java
@@ -0,0 +1,115 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2009-2012 Sun Microsystems, Inc. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License.  When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2009-2012 Sun Microsystems, Inc.
+ */
+
+package org.netbeans.modules.jackpot30.backend.duplicates.api;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.FieldSelector;
+import org.apache.lucene.document.FieldSelectorResult;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TermQuery;
+import org.codeviation.pojson.Pojson;
+import org.netbeans.modules.jackpot30.backend.base.CategoryStorage;
+import org.netbeans.modules.parsing.lucene.support.Convertor;
+import org.netbeans.modules.parsing.lucene.support.Index;
+
+/**
+ *
+ * @author lahvac
+ */
+@Path("/index/duplicates")
+public class API {
+
+    @GET
+    @Path("/findDuplicates")
+    @Produces("text/plain")
+    public String findDuplicates(@QueryParam("path") String segment, @QueryParam("hashes") String hashes) throws IOException, InterruptedException {
+        Map<String, Map<String, Collection<? extends String>>> hash2Segment2Contains = new HashMap<String, Map<String, Collection<? extends String>>>();
+        Collection<String> segments = new LinkedList<String>();
+
+        if (segment != null) segments.add(segment);
+        else {
+            for (CategoryStorage cat : CategoryStorage.listCategories()) {
+                segments.add(cat.getId());
+            }
+        }
+
+        Iterable<? extends String> hashesList = Arrays.asList(Pojson.load(String[].class, hashes));
+
+        for (String key : segments) {
+            for (String hash : hashesList) {
+                CategoryStorage category = CategoryStorage.forId(key);
+                Index index = category.getIndex();
+                List<String> files = new ArrayList<String>();
+                Query query = new TermQuery(new Term("duplicatesGeneralized", hash));
+                index.query(files, new Convertor<Document, String>() {
+                    @Override public String convert(Document p) {
+                        return p.get("duplicatesPath");
+                    }
+                }, new FieldSelector() {
+                    @Override public FieldSelectorResult accept(String fieldName) {
+                        return "duplicatesPath".equals(fieldName) ? FieldSelectorResult.LOAD : FieldSelectorResult.NO_LOAD;
+                    }
+                }, new AtomicBoolean(), query);
+                Map<String, Collection<? extends String>> segment2Contains = hash2Segment2Contains.get(hash);
+                if (segment2Contains == null) {
+                    hash2Segment2Contains.put(hash, segment2Contains = new HashMap<String, Collection<? extends String>>());
+                }
+                segment2Contains.put(key, files);
+            }
+        }
+
+        return Pojson.save(hash2Segment2Contains);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/external/findbugs/build.xml
----------------------------------------------------------------------
diff --git a/external/findbugs/build.xml b/external/findbugs/build.xml
new file mode 100644
index 0000000..49fc2b5
--- /dev/null
+++ b/external/findbugs/build.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
+
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
+particular file as subject to the "Classpath" exception as provided
+by Sun in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+Contributor(s):
+
+The Original Software is NetBeans. The Initial Developer of the Original
+Software is Sun Microsystems, Inc. Portions Copyright 1997-2009 Sun
+Microsystems, Inc. All Rights Reserved.
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+-->
+
+<project basedir="." default="findbugs" name="external/findbugs">
+    
+    <description>Prepares FindBugs libraries</description>
+    
+<!--    <property name="nbroot" value="../../.."/>-->
+    
+    <!-- findbugs.jar checksum -->
+    <property name="findbugs.md5" value="e53fd07dec19607139665c89206797a6"/>
+    
+<!--    <import file="${nbroot}/nbbuild/templates/projectized.xml"/>-->
+
+    <target name="findbugs-init">
+        
+        <condition property="findbugs.downloaded">
+            <and>
+                <available file="lib/annotations.jar"/>
+                <available file="lib/findbugs.jar"/>
+                <available file="lib/jsr305.jar"/>
+                
+                <checksum file="lib/findbugs.jar" property="${findbugs.md5}"/>
+            </and>
+        </condition>
+        
+        <property name="findbugs.name" value="findbugs-1.3.7"/>
+        
+        <property name="lib.dir" location="lib"/>
+        <property name="plugin.dir" location="plugin"/>
+        <property name="build.dir" location="build"/>
+        <property name="binary.zip" location="findbugs-1.3.7.zip"/>
+    </target>
+    
+<!--    <target name="findbugs" depends="findbugs-init,findbugs-clean,-init-proxy" unless="findbugs.downloaded">-->
+    <target name="findbugs" depends="findbugs-init,findbugs-clean" unless="findbugs.downloaded">
+        
+        <echo>Preparing FindBugs libraries...</echo>
+        
+        <get dest="${binary.zip}"
+                src="http://surfnet.dl.sourceforge.net/sourceforge/findbugs/findbugs-1.3.7.zip"/>
+        
+        <mkdir dir="${build.dir}"/>
+        <unzip src="${binary.zip}" dest="${build.dir}"/>
+        
+        <mkdir dir="${lib.dir}"/>
+        <copy todir="${lib.dir}" overwrite="true">
+            <fileset dir="${build.dir}/${findbugs.name}/lib">
+                <include name="annotations.jar"/>
+                <include name="asm-3.1.jar"/>
+                <include name="asm-analysis-3.1.jar"/>
+                <include name="asm-commons-3.1.jar"/>
+                <include name="asm-tree-3.1.jar"/>
+                <include name="asm-util-3.1.jar"/>
+                <include name="asm-xml-3.1.jar"/>
+                <include name="commons-lang-2.4.jar"/>
+                <include name="bcel.jar"/>
+                <include name="dom4j-1.6.1.jar"/>
+                <include name="findbugs.jar"/>
+                <include name="findbugs-ant.jar"/>
+                <include name="jaxen-1.1.1.jar"/>
+                <include name="jFormatString.jar"/>
+                <include name="jsr305.jar"/>
+            </fileset>
+        </copy>
+        
+        <mkdir dir="${plugin.dir}"/>
+        <copy todir="${plugin.dir}" overwrite="true">
+            <fileset dir="${build.dir}/${findbugs.name}/plugin">
+                <include name="coreplugin.jar"/>
+            </fileset>
+        </copy>        
+        
+        <delete file="${binary.zip}"/>
+        <delete dir="${build.dir}"/>
+    </target>
+   
+    <target name="findbugs-clean" depends="findbugs-init" unless="findbugs.downloaded">
+        <delete dir="${lib.dir}"/>
+        <delete dir="${plugin.dir}"/>
+        <delete dir="${build.dir}"/>
+        <delete file="${binary.zip}"/>
+    </target>
+    
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/findbugs-import.xml
----------------------------------------------------------------------
diff --git a/findbugs-import.xml b/findbugs-import.xml
new file mode 100644
index 0000000..1a3d810
--- /dev/null
+++ b/findbugs-import.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
+
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
+particular file as subject to the "Classpath" exception as provided
+by Sun in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+Contributor(s):
+
+The Original Software is NetBeans. The Initial Developer of the Original
+Software is Sun Microsystems, Inc. Portions Copyright 1997-2009 Sun
+Microsystems, Inc. All Rights Reserved.
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+-->
+<project name="findbugs" basedir=".">
+
+    <property name="bootclasspath.prepend" value="${nbplatform.active.dir}/java/modules/ext/nb-javac-api.jar" />
+
+    <target name="findbugs-init" depends="build-init">       
+        <property name="findbugs.home" location="${suite.dir}/external/findbugs"/>
+        <ant dir="${findbugs.home}" inheritall="false"/>
+    </target>
+    
+    <target name="findbugs" depends="build-init,jar,findbugs-init">
+        <property name="report.dir" location="${suite.dir}/build/findbugs"/>
+        <mkdir dir="${report.dir}"/>
+        <property name="report.file" location="${report.dir}/${code.name.base.dashes}.xml"/>
+        <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="${findbugs.home}/lib/findbugs-ant.jar"/>
+
+        <path id="findbugs.class.path.ref">
+            <path path="${module.run.classpath}"/>
+            <path path="${cp.extra}"/>
+            <path path="${cluster}/${module.jar}"/>
+        </path>
+        <pathconvert refid="findbugs.class.path.ref" property="findbugs.class.path"/>
+
+        <echo>Findbugs module: ${code.name.base.dashes}</echo>
+        <findbugs home="${findbugs.home}"
+              output="xml"
+              outputFile="${report.file}"
+              failOnError="true"
+              jvmargs="-Xmx256m">
+            <auxClasspath path="${findbugs.class.path}" />
+            <sourcePath path="${src.dir}" />
+            <class location="${build.classes.dir}" />
+        </findbugs>
+        <condition property="findbugs.error" value="true">
+            <isfileselected file="${report.file}">
+                <size value="0"/>
+            </isfileselected>
+        </condition>
+        <antcall target="findbugs.delete"/>
+    </target>
+    
+    <target name="findbugs.delete" if="findbugs.error">
+        <delete file="${report.file}" failonerror="false"/>
+    </target>
+
+    <target name="-prepare-scripted-tests" depends="-check-scripted-tests" if="has.scripted.tests">
+        <mkdir dir="build/test/scripted" />
+        <copy todir="build/test/scripted">
+            <fileset dir="test/scripted"/>
+        </copy>
+        <copy todir="build/test/scripted">
+            <fileset dir="../test/scripted"/>
+        </copy>
+        <chmod dir="build/test/scripted" perm="u+x" includes="**/*" />
+    </target>
+    
+    <target name="-check-scripted-tests" depends="build-init">
+        <condition property="has.scripted.tests" value="true">
+            <available file="test/scripted/config" />
+        </condition>
+    </target>
+    
+    <target name="-jackpot-check-cp-exists" depends="init">
+        <condition property="jackpot.cp.defined">
+            <isreference refid="cp"/>
+        </condition>
+    </target>
+    
+    <target name="jackpot" depends="init,-jackpot-check-cp-exists" if="jackpot.cp.defined">
+	<fail unless="jackpot.home">${jackpot.home} must be specified</fail>
+        <taskdef name="jackpot" classname="org.netbeans.modules.jackpot30.cmdline.ant.JackpotTask" classpath="${jackpot.home}/jackpot-ant.jar"/>
+
+        <echo>Running Jackpot on module: ${code.name.base.dashes}</echo>
+        <jackpot jackpotHome="${jackpot.home}" source="${javac.source}">
+            <src>
+                <pathelement path="${src.dir}" />
+            </src>
+            <classpath>
+                <path refid="cp"/>
+            </classpath>
+        </jackpot>
+    </target>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/hudson/download-extra-nbms.xml
----------------------------------------------------------------------
diff --git a/hudson/download-extra-nbms.xml b/hudson/download-extra-nbms.xml
new file mode 100644
index 0000000..2e586b0
--- /dev/null
+++ b/hudson/download-extra-nbms.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+Contributor(s):
+
+The Original Software is NetBeans. The Initial Developer of the Original
+Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+Microsystems, Inc. All Rights Reserved.
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+-->
+<project name="platform" default="download" basedir="..">
+    <target name="download" unless="no.download">
+        <mkdir dir="${nbplatform.default.netbeans.dest.dir}"/>
+        <property name="tasks.jar" location="${nbplatform.default.harness.dir}/tasks.jar"/>
+        <taskdef name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate" classpath="${tasks.jar}"/>
+        <autoupdate installdir="${nbplatform.default.netbeans.dest.dir}" updatecenter="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml.gz">
+            <modules includes=".*junit4.*" clusters="platform"/>
+        </autoupdate>
+    </target>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/hudson/trunk
----------------------------------------------------------------------
diff --git a/hudson/trunk b/hudson/trunk
new file mode 100755
index 0000000..2ec33e8
--- /dev/null
+++ b/hudson/trunk
@@ -0,0 +1,114 @@
+#!/bin/bash -x
+
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+#
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is NetBeans. The Initial Developer of the Original
+# Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+# Microsystems, Inc. All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+
+prepare_platform() {
+if [ "$TRUNK_URL" == "" ] ; then
+    TRUNK_URL="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc";
+fi;
+
+TRUNK_ID=`wget -q $TRUNK_URL/lastSuccessfulBuild/buildNumber -O -`
+
+mkdir -p nbbuild
+
+cd nbbuild
+rm -rf netbeans
+mkdir netbeans
+mkdir -p download
+
+rm `ls download/netbeans-hudson-trunk* | grep -v $TRUNK_ID`
+
+cd netbeans
+
+download_and_unpack_cluster() {
+    if [ ! -e ../download/netbeans-hudson-trunk-$TRUNK_ID-$1.zip ] ; then
+        wget -q -N $TRUNK_URL/$TRUNK_ID/artifact/nbbuild/dist/hudson-nbms-and-javadoc-$TRUNK_ID-$1.zip -O ../download/netbeans-hudson-trunk-$TRUNK_ID-$1.zip || exit
+    fi;
+    unzip -q ../download/*$TRUNK_ID-$1.zip || exit
+}
+
+for cluster in ide extide platform java harness nb apisupport enterprise cnd dlight websvccommon; do
+    download_and_unpack_cluster $cluster;
+done
+
+cd ../..
+
+PLATFORM=$PWD/nbbuild/netbeans
+
+ant -f hudson/download-extra-nbms.xml -Dnbplatform.default.harness.dir=$PLATFORM/harness -Dnbplatform.default.netbeans.dest.dir=$PLATFORM
+}
+
+if [ "$PLATFORM" == "" ] ; then
+    prepare_platform
+fi;
+
+ant -Dnbplatform.active.dir=$PLATFORM -f lib/download.xml download copy-from-platform
+
+SUBPROJECTS="remoting duplicates language cmdline";
+
+for subproject in $SUBPROJECTS; do
+    (cd $subproject; ./build.sh -Dnbplatform.default.harness.dir=$PLATFORM/harness -Dnbplatform.default.netbeans.dest.dir=$PLATFORM -Dnbplatform.active.dir=$PLATFORM) || exit 1
+done
+
+for subproject in language remoting; do
+    if [ -x $subproject/post-build.sh ] ; then
+        (cd $subproject; ./post-build.sh -Dnbplatform.default.harness.dir=$PLATFORM/harness -Dnbplatform.default.netbeans.dest.dir=$PLATFORM -Dnbplatform.active.dir=$PLATFORM) || exit 1
+    fi;
+done
+
+mkdir -p build/updates
+
+NBMS_SUBPROJECTS="remoting language duplicates";
+
+cp `find $NBMS_SUBPROJECTS -type f -name "*.nbm"` build/updates
+ant -Dnbplatform.default.harness.dir=$PLATFORM/harness -Dnbplatform.default.netbeans.dest.dir=$PLATFORM -Dnbplatform.active.dir=$PLATFORM -Ddist.base=$DIST_BASE build-auc || exit 1
+gzip <build/updates/updates.xml >build/updates/updates.xml.gz
+
+JACKPOT_ANALYSIS_SUBPROJECTS="remoting/common remoting/ide remoting/server/indexer duplicates/ide cmdline language/ide"
+JACKPOT_TOOL=`pwd`/cmdline/tool/build/jackpot
+echo "$JACKPOT_TOOL"
+for subproject in $JACKPOT_ANALYSIS_SUBPROJECTS; do
+    (cd $subproject; ant -Dnbplatform.default.harness.dir=$PLATFORM/harness -Dnbplatform.default.netbeans.dest.dir=$PLATFORM -Dnbplatform.active.dir=$PLATFORM -Djackpot.home="$JACKPOT_TOOL" jackpot) || exit 1
+done
+
+exit 0

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/increment-spec-versions
----------------------------------------------------------------------
diff --git a/increment-spec-versions b/increment-spec-versions
new file mode 100755
index 0000000..3ed5c36
--- /dev/null
+++ b/increment-spec-versions
@@ -0,0 +1,57 @@
+#!/bin/bash
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is the DocSup module.
+# The Initial Developer of the Original Software is Jan Lahoda.
+# Portions created by Jan Lahoda_ are Copyright (C) 2002,2003.
+# All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+#
+# Contributor(s): Jan Lahoda.
+#
+NEW_VERSION=1.16
+for manifest in `find . -type f -name "manifest.mf"`; do
+    mv $manifest $manifest.old
+    sed -e "s/OpenIDE-Module-Specification-Version: .*$/OpenIDE-Module-Specification-Version: $NEW_VERSION/" <$manifest.old >$manifest
+done;
+
+for properties in `find . -type f -name "project.properties"`; do
+    mv $properties $properties.old
+    sed -e "s/spec.version.base=.*$/spec.version.base=$NEW_VERSION.0/" <$properties.old >$properties
+done;
+
+mv kit/nbproject/project.xml kit/nbproject/project.xml.old
+sed -e "s/<specification-version>.*<\/specification-version>/<specification-version>$NEW_VERSION<\/specification-version>/" <kit/nbproject/project.xml.old >kit/nbproject/project.xml

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/build.sh
----------------------------------------------------------------------
diff --git a/language/build.sh b/language/build.sh
new file mode 100755
index 0000000..1e913f4
--- /dev/null
+++ b/language/build.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+#
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is NetBeans. The Initial Developer of the Original
+# Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+# Microsystems, Inc. All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+
+(cd ide; ant "$@" clean && ant "$@" nbms && ant "$@" test) || exit 1
+

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/bridge/org/netbeans/modules/jackpot30/apisupport/bridgeimpl/ProjectDependencyUpgraderImpl.java
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/bridge/org/netbeans/modules/jackpot30/apisupport/bridgeimpl/ProjectDependencyUpgraderImpl.java b/language/ide/bridges/apisupport/bridge/org/netbeans/modules/jackpot30/apisupport/bridgeimpl/ProjectDependencyUpgraderImpl.java
new file mode 100644
index 0000000..b5719af
--- /dev/null
+++ b/language/ide/bridges/apisupport/bridge/org/netbeans/modules/jackpot30/apisupport/bridgeimpl/ProjectDependencyUpgraderImpl.java
@@ -0,0 +1,157 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License.  When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2010 Sun Microsystems, Inc.
+ */
+package org.netbeans.modules.jackpot30.apisupport.bridgeimpl;
+
+import java.io.IOException;
+import org.netbeans.api.project.FileOwnerQuery;
+import org.netbeans.api.project.Project;
+import org.netbeans.api.project.ProjectManager;
+import org.netbeans.api.project.ProjectUtils;
+import org.netbeans.modules.apisupport.project.ModuleDependency;
+import org.netbeans.modules.apisupport.project.NbModuleProject;
+import org.netbeans.modules.apisupport.project.ProjectXMLManager;
+import org.netbeans.modules.apisupport.project.ProjectXMLManager.CyclicDependencyException;
+import org.netbeans.modules.apisupport.project.spi.NbModuleProvider;
+import org.netbeans.modules.apisupport.project.universe.ModuleEntry;
+import org.netbeans.modules.jackpot30.apisupport.Utilities;
+import org.netbeans.modules.jackpot30.apisupport.Utilities.ParsedDependency;
+import org.netbeans.modules.java.hints.spiimpl.ipi.upgrade.ProjectDependencyUpgrader;
+import org.openide.filesystems.FileObject;
+import org.openide.modules.SpecificationVersion;
+import org.openide.util.Exceptions;
+
+/**
+ *
+ * @author lahvac
+ */
+public class ProjectDependencyUpgraderImpl extends ProjectDependencyUpgrader {
+
+    public boolean ensureDependency(Project currentProject, FileObject depFO, SpecificationVersion spec, final boolean canShowUI) {
+        NbModuleProvider currentNbModule = currentProject.getLookup().lookup(NbModuleProvider.class);
+
+        if (currentNbModule == null) {
+            return false;
+        }
+
+        Project referedProject = FileOwnerQuery.getOwner(depFO);
+
+        if (referedProject == null) {
+            return false;
+        }
+
+        NbModuleProject referedNbProject = referedProject.getLookup().lookup(NbModuleProject.class);
+
+        if (referedNbProject == null) {
+            return false;
+        }
+
+        return ensureDependency(currentProject, referedNbProject.getCodeNameBase(), ProjectUtils.getInformation(referedProject).getDisplayName(), null, spec, canShowUI);
+    }
+
+    private boolean ensureDependency(Project currentProject, String cnb, String displayName, String releaseVersion, SpecificationVersion spec, final boolean canShowUI) {
+        NbModuleProvider currentNbModule = currentProject.getLookup().lookup(NbModuleProvider.class);
+
+        if (currentNbModule == null) {
+            return false;
+        }
+
+        try {
+            NbModuleProject currentNbModuleProject = currentProject.getLookup().lookup(NbModuleProject.class);
+
+            if (currentNbModuleProject == null) {
+                return false;
+            }
+
+            ProjectXMLManager m = new ProjectXMLManager(currentNbModuleProject);
+            ModuleDependency dep = m.getModuleDependency(cnb);
+
+            if (dep == null) {
+                if (showDependencyUpgradeDialog(currentProject, displayName, null, spec, false, canShowUI)) {
+                    ModuleEntry me = currentNbModuleProject.getModuleList().getEntry(cnb);
+                    ModuleDependency nue = new ModuleDependency(me,
+                                                                releaseVersion != null ? releaseVersion : me.getReleaseVersion(),
+                                                                spec != null ? spec.toString() : me.getSpecificationVersion(),
+                                                                true,
+                                                                false);
+
+                    m.addDependency(nue);
+                    ProjectManager.getDefault().saveProject(currentProject);
+                }
+
+                return true;
+            }
+
+            if (dep.getSpecificationVersion() == null) {
+                //impl.dep?
+                return false;
+            }
+
+            SpecificationVersion currentDep = new SpecificationVersion(dep.getSpecificationVersion());
+
+            if (spec != null && (currentDep == null || currentDep.compareTo(spec) < 0)) {
+                if (showDependencyUpgradeDialog(currentProject, displayName, new SpecificationVersion(dep.getSpecificationVersion()), spec, false, canShowUI)) {
+                    ModuleDependency nue = new ModuleDependency(dep.getModuleEntry(),
+                                                                releaseVersion != null ? releaseVersion : dep.getReleaseVersion(),
+                                                                spec.toString(),
+                                                                dep.hasCompileDependency(),
+                                                                dep.hasImplementationDependency());
+
+                    m.editDependency(dep, nue);
+                    ProjectManager.getDefault().saveProject(currentProject);
+                }
+
+                return true;
+            }
+        } catch (CyclicDependencyException ex) {
+            Exceptions.printStackTrace(ex);
+        } catch (IOException ex) {
+            Exceptions.printStackTrace(ex);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean ensureDependency(Project p, String specification, boolean canShowUI) {
+        ParsedDependency dep = Utilities.parseDependency(specification);
+
+        return ensureDependency(p, dep.cnb, /*TODO: may null and that could put display name their*/specification, dep.releaseVersion, dep.specVersion, canShowUI);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/build.xml
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/build.xml b/language/ide/bridges/apisupport/build.xml
new file mode 100644
index 0000000..9cbffc3
--- /dev/null
+++ b/language/ide/bridges/apisupport/build.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+Contributor(s):
+
+The Original Software is NetBeans. The Initial Developer of the Original
+Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+Microsystems, Inc. All Rights Reserved.
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+-->
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.netbeans.modules.jackpot30.apisupport" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.netbeans.modules.jackpot30.apisupport.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <import file="${suite.dir}/../../findbugs-import.xml"/>
+    <target name="netbeans-extra" depends="init">
+        <mkdir dir="build/bridgeclasses"/>
+        <javac srcdir="bridge" destdir="build/bridgeclasses" source="1.6" target="1.6" debug="true" deprecation="true">
+            <classpath>
+                <path refid="cp"/>
+                <pathelement location="${cluster}/modules/${code.name.base.dashes}.jar"/>
+            </classpath>
+        </javac>
+        <copy todir="build/bridgeclasses">
+            <fileset dir="bridge" excludes="${jar-excludes}"/>
+        </copy>
+        <mkdir dir="${cluster}/modules/ext"/>
+        <jar jarfile="${cluster}/modules/ext/${code.name.base.dashes}.jar" compress="false">
+            <fileset dir="build/bridgeclasses"/>
+        </jar>
+    </target>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/manifest.mf
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/manifest.mf b/language/ide/bridges/apisupport/manifest.mf
new file mode 100644
index 0000000..3665a84
--- /dev/null
+++ b/language/ide/bridges/apisupport/manifest.mf
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.netbeans.modules.jackpot30.apisupport
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Install: org/netbeans/modules/jackpot30/apisupport/Installer.class
+OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jackpot30/apisupport/Bundle.properties
+

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/nbproject/build-impl.xml
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/nbproject/build-impl.xml b/language/ide/bridges/apisupport/nbproject/build-impl.xml
new file mode 100644
index 0000000..14089bd
--- /dev/null
+++ b/language/ide/bridges/apisupport/nbproject/build-impl.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+Contributor(s):
+
+The Original Software is NetBeans. The Initial Developer of the Original
+Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+Microsystems, Inc. All Rights Reserved.
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+-->
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.netbeans.modules.jackpot30.apisupport-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/nbproject/genfiles.properties
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/nbproject/genfiles.properties b/language/ide/bridges/apisupport/nbproject/genfiles.properties
new file mode 100644
index 0000000..9f8b83c
--- /dev/null
+++ b/language/ide/bridges/apisupport/nbproject/genfiles.properties
@@ -0,0 +1,49 @@
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+#
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is NetBeans. The Initial Developer of the Original
+# Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+# Microsystems, Inc. All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+build.xml.data.CRC32=c45369e1
+build.xml.script.CRC32=a2cc69eb
+build.xml.stylesheet.CRC32=79c3b980@1.40
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=64abc50a
+nbproject/build-impl.xml.script.CRC32=83dd2c27
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.70

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/nbproject/project.properties
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/nbproject/project.properties b/language/ide/bridges/apisupport/nbproject/project.properties
new file mode 100644
index 0000000..e626cd5
--- /dev/null
+++ b/language/ide/bridges/apisupport/nbproject/project.properties
@@ -0,0 +1,46 @@
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+#
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is NetBeans. The Initial Developer of the Original
+# Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+# Microsystems, Inc. All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+is.eager=true
+javac.source=1.5
+javac.compilerargs=-Xlint -Xlint:-serial
+extra.module.files=modules/ext/org-netbeans-modules-jackpot30-apisupport.jar
+spec.version.base=1.16

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/nbproject/project.xml
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/nbproject/project.xml b/language/ide/bridges/apisupport/nbproject/project.xml
new file mode 100644
index 0000000..0d1ce67
--- /dev/null
+++ b/language/ide/bridges/apisupport/nbproject/project.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+Contributor(s):
+
+The Original Software is NetBeans. The Initial Developer of the Original
+Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+Microsystems, Inc. All Rights Reserved.
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+-->
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.netbeans.modules.jackpot30.apisupport</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.apisupport.ant</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.apisupport.project</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.apisupport.project</code-name-base>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.spi.java.hints</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <implementation-version/>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.projectapi</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.29</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.filesystems</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.33.0.1.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.14</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.32.0.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.2</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages/>
+            <extra-compilation-unit>
+                <package-root>bridge</package-root>
+                <classpath>${module.classpath}:${cluster}/modules/${code.name.base.dashes}.jar</classpath>
+                <built-to>build/bridgeclasses</built-to>
+                <built-to>${cluster}/modules/ext/${code.name.base.dashes}.jar</built-to>
+            </extra-compilation-unit>
+        </data>
+    </configuration>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/nbproject/suite.properties
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/nbproject/suite.properties b/language/ide/bridges/apisupport/nbproject/suite.properties
new file mode 100644
index 0000000..3b20b24
--- /dev/null
+++ b/language/ide/bridges/apisupport/nbproject/suite.properties
@@ -0,0 +1,42 @@
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+#
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is NetBeans. The Initial Developer of the Original
+# Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+# Microsystems, Inc. All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+suite.dir=${basedir}/../..

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/APIProjectDependencyUpgraderImpl.java
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/APIProjectDependencyUpgraderImpl.java b/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/APIProjectDependencyUpgraderImpl.java
new file mode 100644
index 0000000..13ceff7
--- /dev/null
+++ b/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/APIProjectDependencyUpgraderImpl.java
@@ -0,0 +1,127 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2011 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU General
+ * Public License Version 2 only ("GPL") or the Common Development and
+ * Distribution License("CDDL") (collectively, the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy of the
+ * License at http://www.netbeans.org/cddl-gplv2.html or
+ * nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific language
+ * governing permissions and limitations under the License. When distributing
+ * the software, include this License Header Notice in each file and include the
+ * License file at nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided by Oracle
+ * in the GPL Version 2 section of the License file that accompanied this code.
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL or only
+ * the GPL Version 2, indicate your decision by adding "[Contributor] elects to
+ * include this software in this distribution under the [CDDL or GPL Version 2]
+ * license." If you do not indicate a single choice of license, a recipient has
+ * the option to distribute your version of this file under either the CDDL, the
+ * GPL Version 2 or to extend the choice of license to its licensees as provided
+ * above. However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is made
+ * subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2011 Sun Microsystems, Inc.
+ */
+package org.netbeans.modules.jackpot30.apisupport;
+
+import java.io.IOException;
+import org.netbeans.api.project.FileOwnerQuery;
+import org.netbeans.api.project.Project;
+import org.netbeans.api.project.ProjectManager;
+import org.netbeans.api.project.ProjectUtils;
+import org.netbeans.modules.apisupport.project.spi.NbModuleProvider;
+import org.netbeans.modules.apisupport.project.spi.NbModuleProvider.ModuleDependency;
+import org.netbeans.modules.jackpot30.apisupport.Utilities.ParsedDependency;
+import org.netbeans.modules.java.hints.spiimpl.ipi.upgrade.ProjectDependencyUpgrader;
+import org.openide.filesystems.FileObject;
+import org.openide.modules.SpecificationVersion;
+import org.openide.util.Exceptions;
+
+/**
+ *
+ * @author lahvac
+ */
+public class APIProjectDependencyUpgraderImpl extends ProjectDependencyUpgrader {
+
+    public boolean ensureDependency(Project currentProject, FileObject depFO, SpecificationVersion spec, final boolean canShowUI) {
+        NbModuleProvider currentNbModule = currentProject.getLookup().lookup(NbModuleProvider.class);
+
+        if (currentNbModule == null) {
+            return false;
+        }
+
+        Project referedProject = FileOwnerQuery.getOwner(depFO);
+
+        if (referedProject == null) {
+            return false;
+        }
+
+        NbModuleProvider referedNbProject = referedProject.getLookup().lookup(NbModuleProvider.class);
+
+        if (referedNbProject == null) {
+            return false;
+        }
+
+        return ensureDependency(currentProject, referedNbProject.getCodeNameBase(), ProjectUtils.getInformation(referedProject).getDisplayName(), null, spec, canShowUI);
+    }
+
+    private boolean ensureDependency(Project currentProject, String cnb, String displayName, String releaseVersion, SpecificationVersion spec, final boolean canShowUI) {
+        NbModuleProvider currentNbModule = currentProject.getLookup().lookup(NbModuleProvider.class);
+
+        if (currentNbModule == null) {
+            return false;
+        }
+
+        try {
+            if (!currentNbModule.hasDependency(cnb)) {
+                if (showDependencyUpgradeDialog(currentProject, displayName, null, spec, false, canShowUI)) {
+                    currentNbModule.addDependencies(new ModuleDependency[] {new ModuleDependency(cnb, releaseVersion, spec, true)});
+                    ProjectManager.getDefault().saveProject(currentProject);
+                }
+
+                return true;
+            }
+
+            SpecificationVersion currentDep = currentNbModule.getDependencyVersion(cnb);
+
+            if (currentDep == null) {
+                //impl.dep?
+                return false;
+            }
+
+            if (spec != null && (currentDep == null || currentDep.compareTo(spec) < 0)) {
+                if (showDependencyUpgradeDialog(currentProject, displayName, currentDep, spec, false, canShowUI)) {
+                    currentNbModule.addDependencies(new ModuleDependency[] {new ModuleDependency(cnb, releaseVersion, spec, true)});
+                    ProjectManager.getDefault().saveProject(currentProject);
+                }
+
+                return true;
+            }
+        } catch (IOException ex) {
+            Exceptions.printStackTrace(ex);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean ensureDependency(Project p, String specification, boolean canShowUI) {
+        ParsedDependency dep = Utilities.parseDependency(specification);
+
+        return ensureDependency(p, dep.cnb, /*TODO: may null and that could put display name their*/specification, dep.releaseVersion, dep.specVersion, canShowUI);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-netbeans-jackpot30/blob/9ed0a377/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/Bundle.properties
----------------------------------------------------------------------
diff --git a/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/Bundle.properties b/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/Bundle.properties
new file mode 100644
index 0000000..cc45054
--- /dev/null
+++ b/language/ide/bridges/apisupport/src/org/netbeans/modules/jackpot30/apisupport/Bundle.properties
@@ -0,0 +1,42 @@
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
+#
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
+#
+# The contents of this file are subject to the terms of either the GNU
+# General Public License Version 2 only ("GPL") or the Common
+# Development and Distribution License("CDDL") (collectively, the
+# "License"). You may not use this file except in compliance with the
+# License. You can obtain a copy of the License at
+# http://www.netbeans.org/cddl-gplv2.html
+# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+# specific language governing permissions and limitations under the
+# License.  When distributing the software, include this License Header
+# Notice in each file and include the License file at
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the GPL Version 2 section of the License file that
+# accompanied this code. If applicable, add the following below the
+# License Header, with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# Contributor(s):
+#
+# The Original Software is NetBeans. The Initial Developer of the Original
+# Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
+# Microsystems, Inc. All Rights Reserved.
+#
+# If you wish your version of this file to be governed by only the CDDL
+# or only the GPL Version 2, indicate your decision by adding
+# "[Contributor] elects to include this software in this distribution
+# under the [CDDL or GPL Version 2] license." If you do not indicate a
+# single choice of license, a recipient has the option to distribute
+# your version of this file under either the CDDL, the GPL Version 2 or
+# to extend the choice of license to its licensees as provided above.
+# However, if you add GPL Version 2 code and therefore, elected the GPL
+# Version 2 license, then the option applies only if the new code is
+# made subject to such option by the copyright holder.
+OpenIDE-Module-Name=Jackpot 3.0 APISupport Bridge