
org.codehaus.mevenide.netbeans.classpath.PackagedClassPathImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of nb-project Show documentation
Show all versions of nb-project Show documentation
Implementation of a Netbeans project backed by Maven2 POM files.
The newest version!
/*
* Copyright 2008 Mevenide Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* under the License.
*/
package org.codehaus.mevenide.netbeans.classpath;
import java.io.File;
import java.net.URI;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Dependency;
import org.codehaus.mevenide.netbeans.NbMavenProject;
import org.openide.filesystems.FileUtil;
/**
*
* @author mkleint
*/
class PackagedClassPathImpl extends AbstractProjectClassPathImpl {
public PackagedClassPathImpl(NbMavenProject project) {
super(project);
}
public URI[] createPath() {
List lst = new ArrayList();
List arts = getMavenProject().getOriginalMavenProject().getCompileArtifacts();
List deps = getMavenProject().getOriginalMavenProject().getCompileDependencies();
List packagedIds = new ArrayList();
for (Dependency dep : deps) {
if (!Artifact.SCOPE_PROVIDED.equals(dep.getScope())) {
packagedIds.add(dep.getManagementKey());
}
}
List assemblies = new ArrayList();
Iterator it = arts.iterator();
while (it.hasNext()) {
Artifact art = (Artifact)it.next();
String key = art.getGroupId() + ":" + art.getArtifactId() + ":" + art.getType(); //NOI18N
if (art.getFile() != null && packagedIds.contains(key)) {
File fil = FileUtil.normalizeFile(art.getFile());
// the assemblied jars go as last ones, otherwise source for binaries don't really work.
// unless one has the assembled source jar s well?? is it possible?
if (art.getClassifier() != null) {
assemblies.add(0, fil);
} else {
lst.add(fil.toURI());
}
} else {
//NOPMD //null means dependencies were not resolved..
}
}
it = assemblies.iterator();
while (it.hasNext()) {
File ass = (File)it.next();
lst.add(ass.toURI());
}
URI[] uris = new URI[lst.size()];
uris = (URI[])lst.toArray(uris);
return uris;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy