This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 52998
Collapse All | Expand All

(-)java/j2seproject/build.xml (-15 / +1 lines)
Lines 12-30 Link Here
12
Microsystems, Inc. All Rights Reserved.
12
Microsystems, Inc. All Rights Reserved.
13
-->
13
-->
14
<project basedir="." default="netbeans" name="java/j2seproject">
14
<project basedir="." default="netbeans" name="java/j2seproject">
15
    <import file="../../nbbuild/templates/projectized.xml"/>
15
    <import file="../../nbbuild/templates/projectized.xml"/>            
16
    
17
    <target name="jar-with-module-deps" if="module.dependencies">
18
        <property file="../project/spec-ver.properties"/>
19
        <jar jarfile="${netbeans.dest.dir}/${cluster.dir}/${module.jar}" compress="false" manifest="${manifest.mf}">
20
            <manifest>
21
                <attribute name="OpenIDE-Module-Public-Packages" value="${public.packages}"/>
22
                <attribute name="OpenIDE-Module-IDE-Dependencies" value="${ide.dependencies}"/>
23
                <attribute name="OpenIDE-Module-Module-Dependencies" value="org.apache.tools.ant.module/3 > 3.9, org.netbeans.api.java/1, org.netbeans.modules.ant.browsetask, org.netbeans.modules.debugger.jpda.ant, org.netbeans.modules.java.platform/1, org.netbeans.modules.java.project/1 = ${java.project.impl.version}, org.netbeans.modules.junit/2, org.netbeans.modules.project.ant/1, org.netbeans.modules.projectapi/1, org.netbeans.modules.project.libraries/1, org.netbeans.modules.projectuiapi/1, org.netbeans.modules.queries/1, org.openide.src, org.openide.loaders, org.openide.execution > 1.2, org.netbeans.modules.javacore/1, org.netbeans.jmi.javamodel/1, org.netbeans.api.mdr/1"/>
24
                <attribute name="OpenIDE-Module-Implementation-Version" value="${buildnumber}"/>
25
            </manifest>
26
            <fileset dir="${build.classes.dir}"/>
27
        </jar>
28
    </target>
29
    
30
</project>
16
</project>
(-)java/j2seproject/nbproject/project.xml (-6 lines)
Lines 158-169 Link Here
158
                        <specification-version>1.2</specification-version>
158
                        <specification-version>1.2</specification-version>
159
                    </run-dependency>
159
                    </run-dependency>
160
                </dependency>
160
                </dependency>
161
                <dependency>
162
                    <code-name-base>org.openide.io</code-name-base>
163
                    <build-prerequisite/>
164
                    <compile-dependency/>
165
                    <run-dependency/>
166
                </dependency>
167
            </module-dependencies>
161
            </module-dependencies>
168
            <public-packages/>
162
            <public-packages/>
169
        </data>
163
        </data>
(-)java/j2seproject/src/org/netbeans/modules/java/j2seproject/classpath/J2SEProjectClassPathExtender.java (-26 / +47 lines)
Lines 31-37 Link Here
31
import org.netbeans.modules.java.j2seproject.ui.customizer.J2SEProjectProperties;
31
import org.netbeans.modules.java.j2seproject.ui.customizer.J2SEProjectProperties;
32
import org.netbeans.modules.java.j2seproject.ui.customizer.VisualClassPathItem;
32
import org.netbeans.modules.java.j2seproject.ui.customizer.VisualClassPathItem;
33
import org.netbeans.modules.java.j2seproject.UpdateHelper;
33
import org.netbeans.modules.java.j2seproject.UpdateHelper;
34
import org.netbeans.modules.java.project.ProjectClassPathExtender;
34
import org.netbeans.spi.java.project.classpath.ProjectClassPathExtender;
35
35
36
36
37
37
Lines 51-62 Link Here
51
        this.refHelper = refHelper;
51
        this.refHelper = refHelper;
52
    }
52
    }
53
53
54
    public boolean addLibrary(final Library library) throws IOException {
54
    public boolean addLibrary(final Library[] libraries) throws IOException {
55
        return addLibrary(CP_CLASS_PATH, library);
55
        return addLibrary(CP_CLASS_PATH, libraries);
56
    }
56
    }
57
57
58
    public boolean addLibrary(final String classPathId, final Library library) throws IOException {
58
    public boolean addLibrary(final String classPathId, final Library[] libraries) throws IOException {
59
        assert library != null : "Parameter can not be null";       //NOI18N
59
        assert libraries != null : "Parameter can not be null";       //NOI18N
60
        try {
60
        try {
61
            return ((Boolean)ProjectManager.mutex().writeAccess(
61
            return ((Boolean)ProjectManager.mutex().writeAccess(
62
                    new Mutex.ExceptionAction () {
62
                    new Mutex.ExceptionAction () {
Lines 65-73 Link Here
65
                            String raw = props.getProperty(classPathId);
65
                            String raw = props.getProperty(classPathId);
66
                            J2SEProjectProperties.PathParser parser = new J2SEProjectProperties.PathParser ();
66
                            J2SEProjectProperties.PathParser parser = new J2SEProjectProperties.PathParser ();
67
                            List resources = (List) parser.decode(raw, project, helper.getAntProjectHelper(), eval, refHelper);
67
                            List resources = (List) parser.decode(raw, project, helper.getAntProjectHelper(), eval, refHelper);
68
                            VisualClassPathItem item = VisualClassPathItem.create (library);
68
                            boolean changed = false;
69
                            if (!resources.contains(item)) {
69
                            for (int i=0; i<libraries.length; i++) {
70
                                resources.add (item);
70
                                assert libraries[i] != null : "Parameter can't contain null";   //NOI18N
71
                                VisualClassPathItem item = VisualClassPathItem.create (libraries[i]);
72
                                if (!resources.contains(item)) {
73
                                    resources.add (item);
74
                                    changed = true;
75
                                }
76
                            }
77
                            if (changed) {
71
                                raw = parser.encode (resources, project, helper.getAntProjectHelper(), refHelper);
78
                                raw = parser.encode (resources, project, helper.getAntProjectHelper(), refHelper);
72
                                props = helper.getProperties (AntProjectHelper.PROJECT_PROPERTIES_PATH);    //PathParser may change the EditableProperties                                
79
                                props = helper.getProperties (AntProjectHelper.PROJECT_PROPERTIES_PATH);    //PathParser may change the EditableProperties                                
73
                                String[] items = PropertyUtils.tokenizePath(raw);
80
                                String[] items = PropertyUtils.tokenizePath(raw);
Lines 78-84 Link Here
78
                                helper.putProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH, props);
85
                                helper.putProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH, props);
79
                                ProjectManager.getDefault().saveProject(project);
86
                                ProjectManager.getDefault().saveProject(project);
80
                                return Boolean.TRUE;
87
                                return Boolean.TRUE;
81
                            }
88
                            }                                                        
82
                            return Boolean.FALSE;
89
                            return Boolean.FALSE;
83
                        }
90
                        }
84
                    }
91
                    }
Lines 94-105 Link Here
94
        }
101
        }
95
    }
102
    }
96
103
97
    public boolean addArchiveFile(final FileObject archiveFile) throws IOException {
104
    public boolean addArchiveFile(final FileObject[] archiveFiles) throws IOException {
98
        return addArchiveFile(CP_CLASS_PATH,archiveFile);
105
        return addArchiveFile(CP_CLASS_PATH,archiveFiles);
99
    }
106
    }
100
107
101
    public boolean addArchiveFile(final String classPathId, final FileObject archiveFile) throws IOException {
108
    public boolean addArchiveFile(final String classPathId, final FileObject[] archiveFiles) throws IOException {
102
        assert archiveFile != null : "Parameter can not be null";       //NOI18N
109
        assert archiveFiles != null : "Parameter can not be null";       //NOI18N
103
        try {
110
        try {
104
            return ((Boolean)ProjectManager.mutex().writeAccess(
111
            return ((Boolean)ProjectManager.mutex().writeAccess(
105
                    new Mutex.ExceptionAction () {
112
                    new Mutex.ExceptionAction () {
Lines 108-120 Link Here
108
                            String raw = props.getProperty(classPathId);
115
                            String raw = props.getProperty(classPathId);
109
                            J2SEProjectProperties.PathParser parser = new J2SEProjectProperties.PathParser ();
116
                            J2SEProjectProperties.PathParser parser = new J2SEProjectProperties.PathParser ();
110
                            List resources = (List) parser.decode(raw, project, helper.getAntProjectHelper(), eval, refHelper);
117
                            List resources = (List) parser.decode(raw, project, helper.getAntProjectHelper(), eval, refHelper);
111
                            File f = FileUtil.toFile (archiveFile);
118
                            boolean changed = false;
112
                            if (f == null ) {
119
                            for (int i=0; i< archiveFiles.length; i++) {
113
                                throw new IllegalArgumentException ("The file must exist on disk");     //NOI18N
120
                                assert archiveFiles[i] != null : "Parameter can't contain null"; //NOI18N
121
                                File f = FileUtil.toFile (archiveFiles[i]);
122
                                if (f == null ) {
123
                                    throw new IllegalArgumentException ("The file must exist on disk");     //NOI18N
124
                                }
125
                                VisualClassPathItem item = VisualClassPathItem.create (f);
126
                                if (!resources.contains(item)) {
127
                                    resources.add (item);
128
                                    changed = true;
129
                                }
114
                            }
130
                            }
115
                            VisualClassPathItem item = VisualClassPathItem.create (f);
131
                            if (changed) {
116
                            if (!resources.contains(item)) {
117
                                resources.add (item);
118
                                raw = parser.encode (resources, project, helper.getAntProjectHelper(), refHelper);
132
                                raw = parser.encode (resources, project, helper.getAntProjectHelper(), refHelper);
119
                                props = helper.getProperties (AntProjectHelper.PROJECT_PROPERTIES_PATH);  //PathParser may change the EditableProperties
133
                                props = helper.getProperties (AntProjectHelper.PROJECT_PROPERTIES_PATH);  //PathParser may change the EditableProperties
120
                                String[] items = PropertyUtils.tokenizePath(raw);
134
                                String[] items = PropertyUtils.tokenizePath(raw);
Lines 141-152 Link Here
141
        }
155
        }
142
    }
156
    }
143
157
144
    public boolean addAntArtifact(final AntArtifact artifact) throws IOException {
158
    public boolean addAntArtifact(final AntArtifact[] artifacts) throws IOException {
145
        return addAntArtifact(CP_CLASS_PATH,artifact);
159
        return addAntArtifact(CP_CLASS_PATH,artifacts);
146
    }
160
    }
147
161
148
    public boolean addAntArtifact(final String classPathId, final AntArtifact artifact) throws IOException {
162
    public boolean addAntArtifact(final String classPathId, final AntArtifact[] artifacts) throws IOException {
149
        assert artifact != null : "Parameter can not be null";       //NOI18N
163
        assert artifacts != null : "Parameter can not be null";       //NOI18N
150
        try {
164
        try {
151
            return ((Boolean)ProjectManager.mutex().writeAccess(
165
            return ((Boolean)ProjectManager.mutex().writeAccess(
152
                    new Mutex.ExceptionAction () {
166
                    new Mutex.ExceptionAction () {
Lines 155-163 Link Here
155
                            String raw = props.getProperty (classPathId);
169
                            String raw = props.getProperty (classPathId);
156
                            J2SEProjectProperties.PathParser parser = new J2SEProjectProperties.PathParser ();
170
                            J2SEProjectProperties.PathParser parser = new J2SEProjectProperties.PathParser ();
157
                            List resources = (List) parser.decode(raw, project, helper.getAntProjectHelper(), eval, refHelper);
171
                            List resources = (List) parser.decode(raw, project, helper.getAntProjectHelper(), eval, refHelper);
158
                            VisualClassPathItem item = VisualClassPathItem.create (artifact);
172
                            boolean changed = false;
159
                            if (!resources.contains(item)) {
173
                            for (int i=0; i<artifacts.length; i++) {
160
                                resources.add (item);
174
                                assert artifacts[i] != null : "Parameter can not be null";  //NOI18N
175
                                VisualClassPathItem item = VisualClassPathItem.create (artifacts[i]);
176
                                if (!resources.contains(item)) {
177
                                    resources.add (item);
178
                                    changed = true;
179
                                }
180
                            }                            
181
                            if (changed) {                                
161
                                raw = parser.encode (resources, project, helper.getAntProjectHelper(), refHelper);
182
                                raw = parser.encode (resources, project, helper.getAntProjectHelper(), refHelper);
162
                                props = helper.getProperties (AntProjectHelper.PROJECT_PROPERTIES_PATH);    //Reread the properties, PathParser changes them
183
                                props = helper.getProperties (AntProjectHelper.PROJECT_PROPERTIES_PATH);    //Reread the properties, PathParser changes them
163
                                String[] items = PropertyUtils.tokenizePath(raw);
184
                                String[] items = PropertyUtils.tokenizePath(raw);
(-)java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/LibrariesNode.java (-3 / +3 lines)
Lines 515-521 Link Here
515
            if (cpExtender != null) {
515
            if (cpExtender != null) {
516
                for (int i=0; i<artifacts.length;i++) {
516
                for (int i=0; i<artifacts.length;i++) {
517
                    try {
517
                    try {
518
                        cpExtender.addAntArtifact(classPathId, artifacts[i]);
518
                        cpExtender.addAntArtifact(classPathId, new AntArtifact[] {artifacts[i]});
519
                    } catch (IOException ioe) {
519
                    } catch (IOException ioe) {
520
                        ErrorManager.getDefault().notify(ioe);
520
                        ErrorManager.getDefault().notify(ioe);
521
                    }
521
                    }
Lines 561-567 Link Here
561
            if (cpExtender != null) {
561
            if (cpExtender != null) {
562
                for (int i=0; i<libraries.length;i++) {
562
                for (int i=0; i<libraries.length;i++) {
563
                    try {
563
                    try {
564
                        cpExtender.addLibrary(classPathId, libraries[i]);
564
                        cpExtender.addLibrary(classPathId, new Library[] {libraries[i]});
565
                    } catch (IOException ioe) {
565
                    } catch (IOException ioe) {
566
                        ErrorManager.getDefault().notify(ioe);
566
                        ErrorManager.getDefault().notify(ioe);
567
                    }
567
                    }
Lines 613-619 Link Here
613
                    try {
613
                    try {
614
                        FileObject fo = FileUtil.toFileObject (files[i]);
614
                        FileObject fo = FileUtil.toFileObject (files[i]);
615
                        assert fo != null : files[i];
615
                        assert fo != null : files[i];
616
                        cpExtender.addArchiveFile(classPathId, fo);
616
                        cpExtender.addArchiveFile(classPathId, new FileObject[] {fo});
617
                    } catch (IOException ioe) {
617
                    } catch (IOException ioe) {
618
                        ErrorManager.getDefault().notify(ioe);
618
                        ErrorManager.getDefault().notify(ioe);
619
                    }
619
                    }
(-)java/project/apichanges.xml (-1 / +18 lines)
Lines 69-81 Link Here
69
    <!-- First, a list of API names you may use: -->
69
    <!-- First, a list of API names you may use: -->
70
    <apidefs>
70
    <apidefs>
71
        <apidef name="general">Java Project API</apidef>
71
        <apidef name="general">Java Project API</apidef>
72
        <apidef name="classpath">Classpath Support SPI</apidef>
72
        <!-- etc. -->
73
        <!-- etc. -->
73
    </apidefs>
74
    </apidefs>
74
75
75
    <!-- ACTUAL CHANGES BEGIN HERE: -->
76
    <!-- ACTUAL CHANGES BEGIN HERE: -->
76
77
77
    <changes>
78
    <changes>
78
79
        <change>
80
            <api name="Classpath"/>
81
            <summary>The ProjectClassPathExtender was moved into public SPI package.</summary>
82
            <version major="1" minor="3"/>
83
            <date day="5" month="1" year="2005"/>
84
            <author login="tzezula"/>
85
            <compatibility addition="yes"/>
86
            <description>
87
                <p>
88
                The ProjectClassPathExtender was a private contract between j2seproject and form editor
89
                which allowed the form editor to extend the compilation classpath of project by new classpath
90
                element (archive file, folder, dependent project, library).
91
                The ProjectClassPathExtender was moved into public SPI package (org.netbeans.spi.java.project.classpath)
92
                to remove the need of the implementation dependency of form editor and j2seproject on java/project module.
93
                </p>
94
            </description>
95
        </change>
79
        <change id="rel-vers-1">
96
        <change id="rel-vers-1">
80
            <api name="general"/>
97
            <api name="general"/>
81
            <summary>Switched to major release version 1</summary>
98
            <summary>Switched to major release version 1</summary>
(-)java/project/arch.xml (-1 / +1 lines)
Lines 50-56 Link Here
50
  </api>
50
  </api>
51
   </li>
51
   </li>
52
   <li>
52
   <li>
53
  <api group="java" name="ProjectClassPathExtender" type="export" category="friend">
53
  <api group="java" name="ProjectClassPathExtender" type="export" category="devel">
54
   <p>
54
   <p>
55
    Implemented by <code>java/j2seproject</code> and asked for by
55
    Implemented by <code>java/j2seproject</code> and asked for by
56
    <code>form</code>. Permits the Form Editor to add JavaBeans archives to the
56
    <code>form</code>. Permits the Form Editor to add JavaBeans archives to the
(-)java/project/build.xml (-16 / +1 lines)
Lines 12-33 Link Here
12
Microsystems, Inc. All Rights Reserved.
12
Microsystems, Inc. All Rights Reserved.
13
-->
13
-->
14
<project basedir="." default="netbeans" name="java/project">
14
<project basedir="." default="netbeans" name="java/project">
15
    <import file="../../nbbuild/templates/projectized.xml"/>
15
    <import file="../../nbbuild/templates/projectized.xml"/>                
16
    
17
    <target name="jar-with-module-deps" if="module.dependencies">
18
        <property file="spec-ver.properties"/>
19
        <jar jarfile="${netbeans.dest.dir}/${cluster.dir}/${module.jar}" compress="false" manifest="${manifest.mf}">
20
            <manifest>
21
                <attribute name="OpenIDE-Module-Implementation-Version" value="${java.project.impl.version}"/>
22
                <attribute name="OpenIDE-Module-Public-Packages" value="${public.packages}"/>
23
                <attribute name="OpenIDE-Module-IDE-Dependencies" value="${ide.dependencies}"/>
24
                <attribute name="OpenIDE-Module-Module-Dependencies" value="${module.dependencies}"/>
25
            </manifest>
26
            <fileset dir="${build.classes.dir}"/>
27
        </jar>
28
    </target>
29
    
30
    
31
</project>
16
</project>
32
17
33
18
(-)java/project/nbproject/project.xml (+1 lines)
Lines 134-139 Link Here
134
                <package>org.netbeans.api.java.project</package>
134
                <package>org.netbeans.api.java.project</package>
135
                <package>org.netbeans.spi.java.project.support.ui</package>
135
                <package>org.netbeans.spi.java.project.support.ui</package>
136
                <package>org.netbeans.spi.java.project.support.ui.templates</package>
136
                <package>org.netbeans.spi.java.project.support.ui.templates</package>
137
                <package>org.netbeans.spi.java.project.classpath</package>
137
            </public-packages>
138
            </public-packages>
138
            <javadoc/>
139
            <javadoc/>
139
        </data>
140
        </data>
(-)java/project/src/org/netbeans/modules/java/project/ProjectClassPathExtender.java (-57 lines)
Removed Link Here
1
/*
2
 *                 Sun Public License Notice
3
 *
4
 * The contents of this file are subject to the Sun Public License
5
 * Version 1.0 (the "License"). You may not use this file except in
6
 * compliance with the License. A copy of the License is available at
7
 * http://www.sun.com/
8
 *
9
 * The Original Code is NetBeans. The Initial Developer of the Original
10
 * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun
11
 * Microsystems, Inc. All Rights Reserved.
12
 */
13
package org.netbeans.modules.java.project;
14
15
import java.io.IOException;
16
import org.openide.filesystems.FileObject;
17
import org.netbeans.api.project.libraries.Library;
18
import org.netbeans.api.project.ant.AntArtifact;
19
20
21
22
23
24
/**
25
 * Interface for project's compile classpath extension
26
 */
27
public interface ProjectClassPathExtender {
28
29
    /**
30
     * Adds Library into project's compile classpath if the
31
     * library is not already included.
32
     * @param library to be added, not null
33
     * @return true in the case when the classpath was changed
34
     * @exception IOException
35
     */
36
    public boolean addLibrary (Library library) throws IOException;
37
38
    /**
39
     * Adds archive file into project's compile classpath if the
40
     * file is not already on it.
41
     * @param archiveFile to be added, not null
42
     * @return true in the case when the classpath was changed
43
     * @exception IOException
44
     */
45
    public boolean addArchiveFile (FileObject archiveFile) throws IOException;
46
47
48
    /**
49
     * Adds AntArtifact into project's compile classpath if the
50
     * artifact is not already on it.
51
     * @param artifact the ant artifact to be added, not null
52
     * @return true in the case when the classpath was changed
53
     * @exception IOException
54
     */
55
    public boolean addAntArtifact (AntArtifact artifact) throws IOException;
56
57
}
(-)java/project/src/org/netbeans/spi/java/project/classpath/ProjectClassPathExtender.java (+65 lines)
Added Link Here
1
/*
2
 *                 Sun Public License Notice
3
 *
4
 * The contents of this file are subject to the Sun Public License
5
 * Version 1.0 (the "License"). You may not use this file except in
6
 * compliance with the License. A copy of the License is available at
7
 * http://www.sun.com/
8
 *
9
 * The Original Code is NetBeans. The Initial Developer of the Original
10
 * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun
11
 * Microsystems, Inc. All Rights Reserved.
12
 */
13
package org.netbeans.spi.java.project.classpath;
14
15
import java.io.IOException;
16
import org.openide.filesystems.FileObject;
17
import org.netbeans.api.project.libraries.Library;
18
import org.netbeans.api.project.ant.AntArtifact;
19
20
21
22
23
24
/**
25
 * Interface for project's compile classpath extension
26
 */
27
public interface ProjectClassPathExtender {
28
29
    /**
30
     * Adds Libraries into project's compile classpath if the
31
     * libraries are not already included.
32
     * @param libraries an array of libraries to be added, can't be or contain null.
33
     * If the array contains libraries already contained on the project's compile
34
     * classpath, they are not added. If the array contains duplicates
35
     * the duplicates are added just once.
36
     * @return true in the case when the classpath was changed
37
     * @exception IOException in the case when the project metadata can not be stored.
38
     */
39
    public boolean addLibrary (Library[] libraries) throws IOException;
40
41
    /**
42
     * Adds archive files into project's compile classpath if the
43
     * files are not already on it.
44
     * @param archiveFiles to be added, can't be or contain null.
45
     * If the array contains archive files or folders already contained on the project's compile
46
     * classpath, they are not added. If the array contains duplicates
47
     * the duplicates are added just once.
48
     * @return true in the case when the classpath was changed
49
     * @exception IOException in the case when the project metadata can not be stored.
50
     */
51
    public boolean addArchiveFile (FileObject[] archiveFiles) throws IOException;
52
53
54
    /**
55
     * Adds AntArtifacts into project's compile classpath if the
56
     * artifacts are not already on it.
57
     * @param artifacts the ant artifacts to be added, can't be or contain null.
58
     * If the array contains already contained artifacts, they are not added.
59
     * If the array contains duplicates the duplicates are added just once.
60
     * @return true in the case when the classpath was changed
61
     * @exception IOException in the case when the project metadata can not be stored.
62
     */
63
    public boolean addAntArtifact (AntArtifact[] artifacts) throws IOException;
64
65
}
(-)form/build.xml (-14 / +1 lines)
Lines 24-43 Link Here
24
            <include name="${nb.sources.dir}/org/netbeans/lib/awtextra/AbsoluteConstraints.java"/>
24
            <include name="${nb.sources.dir}/org/netbeans/lib/awtextra/AbsoluteConstraints.java"/>
25
            <include name="${nb.sources.dir}/org/netbeans/lib/awtextra/AbsoluteLayout.java"/>
25
            <include name="${nb.sources.dir}/org/netbeans/lib/awtextra/AbsoluteLayout.java"/>
26
        </patternset>
26
        </patternset>
27
    </target>
27
    </target>   
28
29
    <target name="jar-with-module-deps" if="module.dependencies">
30
        <property file="../java/project/spec-ver.properties"/>
31
        <jar jarfile="${netbeans.dest.dir}/${cluster.dir}/${module.jar}" compress="false" manifest="${manifest.mf}">
32
            <manifest>
33
                <attribute name="OpenIDE-Module-Public-Packages" value="${public.packages}"/>
34
                <attribute name="OpenIDE-Module-IDE-Dependencies" value="${ide.dependencies}"/>
35
                <attribute name="OpenIDE-Module-Module-Dependencies" value="org.netbeans.modules.projectapi/1, org.netbeans.modules.project.libraries/1, org.netbeans.modules.project.ant/1, org.netbeans.modules.projectuiapi/1, org.netbeans.api.java/1, org.netbeans.modules.java.project/1 = ${java.project.impl.version}, org.netbeans.modules.java/1, org.netbeans.modules.java.platform/1, org.netbeans.modules.javacore/1, org.netbeans.jmi.javamodel/1, org.netbeans.modules.javahelp/1, org.openide.loaders, org.openide.src > 1.3, org.netbeans.core.multiview/1 > 1.0"/>
36
                <attribute name="OpenIDE-Module-Implementation-Version" value="${buildnumber}"/>
37
            </manifest>
38
            <fileset dir="${build.classes.dir}"/>
39
        </jar>
40
    </target>
41
28
42
    <target name="netbeans-extra" depends="release"/>
29
    <target name="netbeans-extra" depends="release"/>
43
30
(-)form/src/org/netbeans/modules/form/project/ClassPathUtils.java (-4 / +4 lines)
Lines 30-36 Link Here
30
import org.netbeans.api.java.classpath.ClassPath;
30
import org.netbeans.api.java.classpath.ClassPath;
31
import org.netbeans.spi.java.classpath.support.ClassPathSupport;
31
import org.netbeans.spi.java.classpath.support.ClassPathSupport;
32
import org.netbeans.api.java.queries.SourceForBinaryQuery;
32
import org.netbeans.api.java.queries.SourceForBinaryQuery;
33
import org.netbeans.modules.java.project.ProjectClassPathExtender;
33
import org.netbeans.spi.java.project.classpath.ProjectClassPathExtender;
34
34
35
/**
35
/**
36
 * Utility methods related to classpath in projects.
36
 * Utility methods related to classpath in projects.
Lines 248-265 Link Here
248
248
249
            if (ClassSource.JAR_SOURCE.equals(type)) {
249
            if (ClassSource.JAR_SOURCE.equals(type)) {
250
                FileObject jarFile = FileUtil.toFileObject(new File(name));
250
                FileObject jarFile = FileUtil.toFileObject(new File(name));
251
                projectClassPath.addArchiveFile(jarFile);
251
                projectClassPath.addArchiveFile(new FileObject[] {jarFile});
252
            }
252
            }
253
            else if (ClassSource.LIBRARY_SOURCE.equals(type)) {
253
            else if (ClassSource.LIBRARY_SOURCE.equals(type)) {
254
                Library lib = LibraryManager.getDefault().getLibrary(name);
254
                Library lib = LibraryManager.getDefault().getLibrary(name);
255
                projectClassPath.addLibrary(lib);
255
                projectClassPath.addLibrary(new Library[] {lib});
256
            }
256
            }
257
            else if (ClassSource.PROJECT_SOURCE.equals(type)) {
257
            else if (ClassSource.PROJECT_SOURCE.equals(type)) {
258
                File jarFile = new File(name);
258
                File jarFile = new File(name);
259
                AntArtifact artifact =
259
                AntArtifact artifact =
260
                    AntArtifactQuery.findArtifactFromFile(jarFile);
260
                    AntArtifactQuery.findArtifactFromFile(jarFile);
261
                if (artifact.getProject() != project)
261
                if (artifact.getProject() != project)
262
                    projectClassPath.addAntArtifact(artifact);
262
                    projectClassPath.addAntArtifact(new AntArtifact[] {artifact});
263
            }
263
            }
264
        }
264
        }
265
265
(-)ide/golden/impl-deps.txt (-4 lines)
Lines 2-9 Link Here
2
  REQUIRES org.netbeans.modules.xml.core/2 (ide)
2
  REQUIRES org.netbeans.modules.xml.core/2 (ide)
3
MODULE org.netbeans.modules.dbschema/1 (ide)
3
MODULE org.netbeans.modules.dbschema/1 (ide)
4
  REQUIRES org.netbeans.modules.db/1 (ide)
4
  REQUIRES org.netbeans.modules.db/1 (ide)
5
MODULE org.netbeans.modules.form/2 (ide)
6
  REQUIRES org.netbeans.modules.java.project/1 (ide)
7
MODULE org.netbeans.modules.j2ee.ddloaders/1 (j2ee)
5
MODULE org.netbeans.modules.j2ee.ddloaders/1 (j2ee)
8
  REQUIRES org.netbeans.modules.j2ee.dd/1 (j2ee)
6
  REQUIRES org.netbeans.modules.j2ee.dd/1 (j2ee)
9
  REQUIRES org.netbeans.modules.j2ee.ejbjarproject (j2ee)
7
  REQUIRES org.netbeans.modules.j2ee.ejbjarproject (j2ee)
Lines 27-34 Link Here
27
MODULE org.netbeans.modules.java/1 (ide)
25
MODULE org.netbeans.modules.java/1 (ide)
28
  REQUIRES org.netbeans.modules.jmiutils/1 (ide)
26
  REQUIRES org.netbeans.modules.jmiutils/1 (ide)
29
  REQUIRES org.netbeans.modules.mdr/1 (ide)
27
  REQUIRES org.netbeans.modules.mdr/1 (ide)
30
MODULE org.netbeans.modules.java.j2seproject (ide)
31
  REQUIRES org.netbeans.modules.java.project/1 (ide)
32
MODULE org.netbeans.modules.javacore/1 (ide)
28
MODULE org.netbeans.modules.javacore/1 (ide)
33
  REQUIRES org.netbeans.modules.jmiutils/1 (ide)
29
  REQUIRES org.netbeans.modules.jmiutils/1 (ide)
34
  REQUIRES org.netbeans.modules.mdr/1 (ide)
30
  REQUIRES org.netbeans.modules.mdr/1 (ide)
(-)ide/golden/public-packages.txt (+1 lines)
Lines 227-232 Link Here
227
org.netbeans.spi.java.classpath
227
org.netbeans.spi.java.classpath
228
org.netbeans.spi.java.classpath.support
228
org.netbeans.spi.java.classpath.support
229
org.netbeans.spi.java.platform
229
org.netbeans.spi.java.platform
230
org.netbeans.spi.java.project.classpath
230
org.netbeans.spi.java.project.support.ui
231
org.netbeans.spi.java.project.support.ui
231
org.netbeans.spi.java.project.support.ui.templates
232
org.netbeans.spi.java.project.support.ui.templates
232
org.netbeans.spi.java.queries
233
org.netbeans.spi.java.queries

Return to bug 52998