[ http://jira.codehaus.org/browse/MECLIPSE-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=132572#action_132572 ]
Yuri Schimke commented on MECLIPSE-407: --------------------------------------- Because we want PDE dependencies in the Eclipse, we have the above change. However we also want our products to deploy with either - built JAR files i.e. valid OSGi bundles built by maven - With project open in Eclipse workspace so we can make code changes etc To get the second to work, you also need a build.properties file, so we have ended up with the following public class BaclipsePlugin extends EclipsePlugin { protected void setupExtras() throws MojoExecutionException { if (isPdeProject()) { // disable normal dependency resolution setResolveDependencies(false); } } protected void writeOsgiManifest(EclipseWriterConfig config) throws MojoExecutionException { } protected void writeBuildProperties(EclipseWriterConfig config) throws MojoExecutionException { File projectRelativeFile = new File(getEclipseProjectDir(), "build.properties"); StringBuilder content = new StringBuilder(); String sourceDirectories = getSourceDirectoriesString(config); content.append("source.. = " + sourceDirectories + "\n"); String outputDirectories = getOutputDirectoriesString(config); content.append("output.. = " + outputDirectories + "\n"); String binIncludes = getIncludesString(config); content.append("bin.includes = " + binIncludes + "\n"); try { FileUtils.fileWrite(projectRelativeFile.getAbsolutePath(), content.toString()); } catch (IOException e) { throw new MojoExecutionException(Messages.getString("EclipsePlugin.cantwritetofile", //$NON-NLS-1$ projectRelativeFile.getAbsolutePath())); } } private String getIncludesString(EclipseWriterConfig config) { return "META-INF/"; } private String getSourceDirectoriesString(EclipseWriterConfig config) { StringBuilder string = new StringBuilder(); EclipseSourceDir[] sourceDirs = config.getSourceDirs(); for (int i = 0; i < sourceDirs.length; i++) { if (i > 0) { string.append(","); } string.append(sourceDirs[i].getPath()); } return string.toString(); } private String getOutputDirectoriesString(EclipseWriterConfig config) throws MojoExecutionException { Set paths = new HashSet(); StringBuilder string = new StringBuilder(); EclipseSourceDir[] sourceDirs = config.getSourceDirs(); for (int i = 0; i < sourceDirs.length; i++) { String outputDir = sourceDirs[i].getOutput(); if (outputDir == null) { outputDir = IdeUtils.toRelativeAndFixSeparator( config.getProjectBaseDir(), config.getBuildOutputDirectory(), false ); } if (paths.add(outputDir)) { if (string.length() > 0) { string.append(","); } string.append(outputDir); } } return string.toString(); } } > EclipsePlugin parameter to skip dependency resolution > ----------------------------------------------------- > > Key: MECLIPSE-407 > URL: http://jira.codehaus.org/browse/MECLIPSE-407 > Project: Maven 2.x Eclipse Plugin > Issue Type: Improvement > Components: PDE support > Affects Versions: 2.5 > Reporter: Yuri Schimke > > Because all our projects are PDE projects, we don't need want all the JARs > copied locally and added to the classpath. > Because there is no option to stop them being added to .classpath apart from > adding a lot of excludes, we have a subclass of EclipsePlugin that does a > similar tihng to the M2EclipsePlugin > protected void setupExtras() throws MojoExecutionException { > if (isPdeProject()) { > // disable normal dependency resolution > setResolveDependencies(false); > } > } > However, it we could set a flag to stop dependency resolution, we would not > need to maintain our own plugin. i.e. add the parameter javadoc. > /** > * Flag for mojo implementations to control whether normal maven > dependencies should be resolved. Default value is > * true. > * > * @parameter expression="${eclipse.resolveDependencies}" > default-value="true" > */ > private boolean resolveDependencies = true; -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira