Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 119374 Details for
Bug 255913
[mirror] Need ant tasks for mirroring and composite repositories
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Ant Tasks for composite repos and mirroring
255913Patch.txt (text/plain), 62.82 KB, created by
Andrew Cattle
on 2008-12-03 09:04:24 EST
(
hide
)
Description:
Ant Tasks for composite repos and mirroring
Filename:
MIME Type:
Creator:
Andrew Cattle
Created:
2008-12-03 09:04:24 EST
Size:
62.82 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.equinox.p2.metadata.repository >Index: p2 tools - mirror metadata.launch >=================================================================== >RCS file: p2 tools - mirror metadata.launch >diff -N p2 tools - mirror metadata.launch >--- p2 tools - mirror metadata.launch 28 May 2008 20:52:05 -0000 1.1 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,24 +0,0 @@ >-<?xml version="1.0" encoding="UTF-8" standalone="no"?> >-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher"> >-<booleanAttribute key="append.args" value="true"/> >-<booleanAttribute key="automaticAdd" value="false"/> >-<booleanAttribute key="automaticValidate" value="false"/> >-<stringAttribute key="bootstrap" value=""/> >-<stringAttribute key="checked" value="[NONE]"/> >-<booleanAttribute key="clearConfig" value="false"/> >-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2 tools - mirror metadata"/> >-<booleanAttribute key="default_auto_start" value="false"/> >-<intAttribute key="default_start_level" value="4"/> >-<booleanAttribute key="includeOptional" value="false"/> >-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> >-<stringAttribute key="org.eclipse.jdt.launching.JAVA_COMMAND" value="java"/> >-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source http://download.eclipse.org/eclipse/updates/3.4milestones/ -destination file:c:/p2"/> >-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> >-<stringAttribute key="pde.version" value="3.3"/> >-<booleanAttribute key="show_selected_only" value="false"/> >-<stringAttribute key="target_bundles" value="org.eclipse.equinox.security@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.app@default:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi@:,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.registry@default:default,javax.servlet@default:default,org.eclipse.core.jobs@default:default"/> >-<booleanAttribute key="tracing" value="false"/> >-<booleanAttribute key="useDefaultConfigArea" value="true"/> >-<booleanAttribute key="useNamedJRE" value="true"/> >-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.equinox.p2.director@default:default,org.sat4j.core@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.jarprocessor@default:default"/> >-</launchConfiguration> >Index: build.properties >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository/build.properties,v >retrieving revision 1.3 >diff -u -r1.3 build.properties >--- build.properties 29 Oct 2007 15:33:35 -0000 1.3 >+++ build.properties 3 Dec 2008 13:50:27 -0000 >@@ -14,6 +14,12 @@ > .,\ > about.html,\ > plugin.xml,\ >- plugin.properties >+ plugin.properties,\ >+ ant_tasks/metadataRepository-ant.jar > src.includes = about.html,\ > schema/ >+jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar >+jars.compile.order = .,\ >+ ant_tasks/metadataRepository-ant.jar >+source.ant_tasks/metadataRepository-ant.jar = src_ant/ >+output.ant_tasks/metadataRepository-ant.jar = bin_ant/ >Index: .classpath >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath,v >retrieving revision 1.3 >diff -u -r1.3 .classpath >--- .classpath 22 Feb 2008 16:28:58 -0000 1.3 >+++ .classpath 3 Dec 2008 13:50:27 -0000 >@@ -3,5 +3,6 @@ > <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/> > <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> > <classpathentry kind="src" path="src"/> >+ <classpathentry kind="src" output="bin_ant" path="src_ant"/> > <classpathentry kind="output" path="bin"/> > </classpath> >Index: plugin.xml >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml,v >retrieving revision 1.6 >diff -u -r1.6 plugin.xml >--- plugin.xml 13 Nov 2008 20:42:50 -0000 1.6 >+++ plugin.xml 3 Dec 2008 13:50:27 -0000 >@@ -22,4 +22,36 @@ > <filter suffix="compositeContent.xml"/> > <factory class="org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory"/> > </extension> >+ >+ <extension point="org.eclipse.ant.core.antTasks"> >+ <antTask >+ library="ant_tasks/metadataRepository-ant.jar" >+ name="eclipse.p2.metadataMirrorApplication" >+ class="org.eclipse.equinox.internal.p2.metadata.repository.ant.MirrorApplicationTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/metadataRepository-ant.jar" >+ name="eclipse.p2.CompositeMetadataRepository.create" >+ class="org.eclipse.equinox.internal.p2.metadata.repository.ant.CreateCompositeMetadataRepositoryTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/metadataRepository-ant.jar" >+ name="eclipse.p2.CompositeMetadataRepository.addChild" >+ class="org.eclipse.equinox.internal.p2.metadata.repository.ant.AddChildTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/metadataRepository-ant.jar" >+ name="eclipse.p2.CompositeMetadataRepository.removeChild" >+ class="org.eclipse.equinox.internal.p2.metadata.repository.ant.RemoveChildTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/metadataRepository-ant.jar" >+ name="eclipse.p2.CompositeMetadataRepository.removeAllChildren" >+ class="org.eclipse.equinox.internal.p2.metadata.repository.ant.RemoveAllChildrenTask"> >+ </antTask> >+ </extension> > </plugin> >Index: .project >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository/.project,v >retrieving revision 1.3 >diff -u -r1.3 .project >--- .project 6 Mar 2008 23:13:54 -0000 1.3 >+++ .project 3 Dec 2008 13:50:27 -0000 >@@ -25,6 +25,16 @@ > <arguments> > </arguments> > </buildCommand> >+ <buildCommand> >+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> >+ <triggers>full,incremental,</triggers> >+ <arguments> >+ <dictionary> >+ <key>LaunchConfigHandle</key> >+ <value><project>/.externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch</value> >+ </dictionary> >+ </arguments> >+ </buildCommand> > </buildSpec> > <natures> > <nature>org.eclipse.pde.PluginNature</nature> >Index: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,38 @@ >+package org.eclipse.equinox.internal.p2.metadata.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.p2.metadata.repository.Activator; >+import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager; >+ >+public class AddChildTask extends Task { >+ URI location; >+ URI child; >+ >+ public void execute() { >+ IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName()); >+ >+ CompositeMetadataRepository repo = null; >+ try { >+ repo = (CompositeMetadataRepository) manager.loadRepository(location, null); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while loading repository.", e); >+ } >+ >+ repo.addChild(child); >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+ >+ public void setChild(String value) throws URISyntaxException { >+ child = URIUtil.fromString(value); >+ } >+} >Index: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,37 @@ >+package org.eclipse.equinox.internal.p2.metadata.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.p2.metadata.repository.Activator; >+import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager; >+ >+public class RemoveChildTask extends Task { >+ URI location; >+ URI child; >+ >+ public void execute() { >+ IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName()); >+ >+ CompositeMetadataRepository repo; >+ try { >+ repo = (CompositeMetadataRepository) manager.loadRepository(location, null); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while loading repository.", e); >+ } >+ repo.removeChild(child); >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+ >+ public void setChild(String value) throws URISyntaxException { >+ child = URIUtil.fromString(value); >+ } >+} >Index: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveAllChildrenTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveAllChildrenTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveAllChildrenTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveAllChildrenTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,32 @@ >+package org.eclipse.equinox.internal.p2.metadata.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.p2.metadata.repository.Activator; >+import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager; >+ >+public class RemoveAllChildrenTask extends Task { >+ URI location; >+ >+ public void execute() { >+ IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName()); >+ >+ CompositeMetadataRepository repo = null; >+ try { >+ repo = (CompositeMetadataRepository) manager.loadRepository(location, null); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while loading repository.", e); >+ } >+ repo.removeAllChildren(); >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+} >Index: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,50 @@ >+package org.eclipse.equinox.internal.p2.metadata.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import java.util.HashMap; >+import java.util.Map; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.p2.metadata.repository.Activator; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository; >+import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager; >+ >+public class CreateCompositeMetadataRepositoryTask extends Task { >+ URI location; >+ String name = "Composite Metadata Repository"; >+ boolean compressed = true; >+ Map properties = new HashMap(); >+ >+ public void execute() { >+ IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName()); >+ >+ //remove the repo first. >+ manager.removeRepository(location); >+ >+ if (compressed) >+ properties.put(IRepository.PROP_COMPRESSED, "true"); >+ >+ try { >+ manager.createRepository(location, name, IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, properties); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while creating composite artifact repository.", e); >+ } >+ } >+ >+ public void setName(String value) { >+ name = value; >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+ >+ public void setCompressed(boolean value) { >+ compressed = value; >+ } >+ >+} >Index: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,91 @@ >+package org.eclipse.equinox.internal.p2.metadata.repository.ant; >+ >+import java.net.MalformedURLException; >+import java.net.URL; >+import java.util.HashMap; >+import java.util.Map; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.equinox.app.IApplicationContext; >+import org.eclipse.equinox.internal.p2.metadata.mirror.MirrorApplication; >+import org.osgi.framework.Bundle; >+ >+public class MirrorApplicationTask extends Task { >+ URL source; >+ URL destination; >+ String message = ""; >+ boolean emptyRepository = false; >+ >+ //TODO add transitive and roots attributed when implemented. >+ >+ /** >+ * runs the mirror application with arguments args >+ */ >+ private void runMirrorApplication(String msg, final String[] args) throws Exception { >+ MirrorApplication application = new MirrorApplication(); >+ application.start(new IApplicationContext() { >+ >+ public void applicationRunning() { >+ } >+ >+ public Map getArguments() { >+ Map arguments = new HashMap(); >+ >+ arguments.put(IApplicationContext.APPLICATION_ARGS, args); >+ >+ return arguments; >+ } >+ >+ public String getBrandingApplication() { >+ return null; >+ } >+ >+ public Bundle getBrandingBundle() { >+ return null; >+ } >+ >+ public String getBrandingDescription() { >+ return null; >+ } >+ >+ public String getBrandingId() { >+ return null; >+ } >+ >+ public String getBrandingName() { >+ return null; >+ } >+ >+ public String getBrandingProperty(String key) { >+ return null; >+ } >+ }); >+ } >+ >+ public void execute() { >+ //create arguments >+ String[] args = new String[] {"-source", source.toExternalForm(), "-destination", destination.toExternalForm(), emptyRepository ? "-emptyRepository" : ""}; >+ >+ try { >+ runMirrorApplication(message, args); >+ } catch (Exception e) { >+ throw new BuildException("Exception while running mirror application.", e); >+ } >+ } >+ >+ public void setSource(String value) throws MalformedURLException { >+ source = new URL(value); >+ } >+ >+ public void setDestination(String value) throws MalformedURLException { >+ destination = new URL(value); >+ } >+ >+ public void setMessage(String value) { >+ message = value; >+ } >+ >+ public void setEmptyRepository(boolean value) { >+ emptyRepository = value; >+ } >+} >Index: buildAntTasks.xml >=================================================================== >RCS file: buildAntTasks.xml >diff -N buildAntTasks.xml >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ buildAntTasks.xml 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,9 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<project name="org.eclipse.equinox.p2.metadata.generator" default="default" basedir="."> >+ >+ <target name="default" description="Compile ant tasks" > >+ <mkdir dir="${basedir}/ant_tasks" /> >+ <delete file="${basedir}/ant_tasks/metadataRepository-ant.jar" failonerror="false"/> >+ <jar destfile="${basedir}/ant_tasks/metadataRepository-ant.jar" basedir="${basedir}/bin_ant"/> >+ </target> >+</project> >\ No newline at end of file >Index: .externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch >=================================================================== >RCS file: .externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch >diff -N .externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ .externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,18 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> >+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/> >+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> >+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> >+<listEntry value="/org.eclipse.equinox.p2.metadata.repository/buildAntTasks.xml"/> >+</listAttribute> >+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> >+<listEntry value="1"/> >+</listAttribute> >+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> >+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> >+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> >+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.metadata.repository"/> >+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.metadata.repository/buildAntTasks.xml}"/> >+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/> >+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> >+</launchConfiguration> >#P org.eclipse.equinox.p2.artifact.repository >Index: .classpath >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath,v >retrieving revision 1.4 >diff -u -r1.4 .classpath >--- .classpath 21 Feb 2008 22:42:40 -0000 1.4 >+++ .classpath 3 Dec 2008 13:50:28 -0000 >@@ -3,5 +3,6 @@ > <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/> > <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> > <classpathentry kind="src" path="src"/> >+ <classpathentry kind="src" output="bin_ant" path="src_ant"/> > <classpathentry kind="output" path="bin"/> > </classpath> >Index: build.properties >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository/build.properties,v >retrieving revision 1.3 >diff -u -r1.3 build.properties >--- build.properties 29 Oct 2007 15:33:43 -0000 1.3 >+++ build.properties 3 Dec 2008 13:50:28 -0000 >@@ -14,6 +14,12 @@ > .,\ > plugin.xml,\ > about.html,\ >- plugin.properties >+ plugin.properties,\ >+ ant_tasks/artifactRepository-ant.jar > src.includes = about.html,\ > schema/ >+jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar >+jars.compile.order = .,\ >+ ant_tasks/artifactRepository-ant.jar >+source.ant_tasks/artifactRepository-ant.jar = src_ant/ >+output.ant_tasks/artifactRepository-ant.jar = bin_ant/ >Index: plugin.xml >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml,v >retrieving revision 1.11 >diff -u -r1.11 plugin.xml >--- plugin.xml 20 Nov 2008 00:09:50 -0000 1.11 >+++ plugin.xml 3 Dec 2008 13:50:28 -0000 >@@ -43,4 +43,42 @@ > <artifactComparator class="org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5ArtifactComparator" > id="org.eclipse.equinox.artifact.md5.comparator"/> > </extension> >+ >+ <extension point="org.eclipse.ant.core.antTasks"> >+ <antTask >+ library="ant_tasks/artifactRepository-ant.jar" >+ name="eclipse.p2.artifactMirrorApplication" >+ class="org.eclipse.equinox.internal.p2.artifact.repository.ant.MirrorApplicationTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/artifactRepository-ant.jar" >+ name="eclipse.p2.CompositeArtifactRepository.create" >+ class="org.eclipse.equinox.internal.p2.artifact.repository.ant.CreateCompositeArtifactRepositoryTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/artifactRepository-ant.jar" >+ name="eclipse.p2.CompositeArtifactRepository.addChild" >+ class="org.eclipse.equinox.internal.p2.artifact.repository.ant.AddChildTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/artifactRepository-ant.jar" >+ name="eclipse.p2.CompositeArtifactRepository.removeChild" >+ class="org.eclipse.equinox.internal.p2.artifact.repository.ant.RemoveChildTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/artifactRepository-ant.jar" >+ name="eclipse.p2.CompositeArtifactRepository.removeAllChildren" >+ class="org.eclipse.equinox.internal.p2.artifact.repository.ant.RemoveAllChildrenTask"> >+ </antTask> >+ >+ <antTask >+ library="ant_tasks/artifactRepository-ant.jar" >+ name="eclipse.p2.CompositeArtifactRepository.sanityCheck" >+ class="org.eclipse.equinox.internal.p2.artifact.repository.ant.SanityCheckTask"> >+ </antTask> >+ </extension> > </plugin> >Index: .project >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository/.project,v >retrieving revision 1.2 >diff -u -r1.2 .project >--- .project 30 Sep 2007 18:55:28 -0000 1.2 >+++ .project 3 Dec 2008 13:50:28 -0000 >@@ -20,6 +20,16 @@ > <arguments> > </arguments> > </buildCommand> >+ <buildCommand> >+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> >+ <triggers>full,incremental,</triggers> >+ <arguments> >+ <dictionary> >+ <key>LaunchConfigHandle</key> >+ <value><project>/.externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch</value> >+ </dictionary> >+ </arguments> >+ </buildCommand> > </buildSpec> > <natures> > <nature>org.eclipse.pde.PluginNature</nature> >Index: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,50 @@ >+package org.eclipse.equinox.internal.p2.artifact.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import java.util.HashMap; >+import java.util.Map; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.artifact.repository.Activator; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository; >+ >+public class CreateCompositeArtifactRepositoryTask extends Task { >+ URI location; >+ String name = "Composite Artifact Repository"; >+ boolean compressed = true; >+ Map properties = new HashMap(); >+ >+ public void execute() { >+ IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName()); >+ >+ //remove the repo first. >+ manager.removeRepository(location); >+ >+ if (compressed) >+ properties.put(IRepository.PROP_COMPRESSED, "true"); >+ >+ try { >+ manager.createRepository(location, name, IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, properties); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while creating composite artifact repository.", e); >+ } >+ } >+ >+ public void setName(String value) { >+ name = value; >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+ >+ public void setCompressed(boolean value) { >+ compressed = value; >+ } >+ >+} >Index: build.xml >=================================================================== >RCS file: build.xml >diff -N build.xml >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ build.xml 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,355 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<project name="org.eclipse.equinox.p2.artifact.repository" default="build.jars" basedir="."> >+ >+ <property name="basews" value="${ws}"/> >+ <property name="baseos" value="${os}"/> >+ <property name="basearch" value="${arch}"/> >+ <property name="basenl" value="${nl}"/> >+ <property name="bundleId" value="org.eclipse.equinox.p2.artifact.repository"/> >+ <property name="bundleVersion" value="1.0.100.z200811211449"/> >+ >+ <!-- Compiler settings. --> >+ <property name="javacFailOnError" value="false"/> >+ <property name="javacDebugInfo" value="on"/> >+ <property name="javacVerbose" value="false"/> >+ <property name="logExtension" value=".log"/> >+ <property name="compilerArg" value=""/> >+ <property name="javacSource" value="1.3"/> >+ <property name="javacTarget" value="1.2"/> >+ <condition property="dir_bootclasspath" value="${java.home}/../Classes"> >+ <os family="mac"/> >+ </condition> >+ <property name="dir_bootclasspath" value="${java.home}/lib"/> >+ <path id="path_bootclasspath"> >+ <fileset dir="${dir_bootclasspath}"> >+ <include name="*.jar"/> >+ </fileset> >+ </path> >+ <property name="bootclasspath" refid="path_bootclasspath"/> >+<condition property="bundleBootClasspath" value="${J2SE-1.4}" > >+ <isset property="J2SE-1.4"/> >+ </condition> >+<condition property="bundleJavacSource" value="1.3" > >+ <isset property="J2SE-1.4"/> >+ </condition> >+<condition property="bundleJavacTarget" value="1.2" > >+ <isset property="J2SE-1.4"/> >+ </condition> >+<condition property="bundleBootClasspath" value="${CDC-1.1/Foundation-1.1}" > >+ <isset property="CDC-1.1/Foundation-1.1"/> >+ </condition> >+<condition property="bundleJavacSource" value="1.3" > >+ <isset property="CDC-1.1/Foundation-1.1"/> >+ </condition> >+<condition property="bundleJavacTarget" value="1.2" > >+ <isset property="CDC-1.1/Foundation-1.1"/> >+ </condition> >+ <property name="bundleJavacSource" value="${javacSource}"/> >+ <property name="bundleJavacTarget" value="${javacTarget}"/> >+ <property name="bundleBootClasspath" value="${bootclasspath}"/> >+ >+ <target name="init" depends="properties"> >+<condition property="pluginTemp" value="${buildTempFolder}/plugins" > >+ <isset property="buildTempFolder"/> >+ </condition> >+ <property name="pluginTemp" value="${basedir}"/> >+<condition property="build.result.folder" value="${pluginTemp}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" > >+ <isset property="buildTempFolder"/> >+ </condition> >+ <property name="build.result.folder" value="${basedir}"/> >+ <property name="temp.folder" value="${basedir}/temp.folder"/> >+ <property name="plugin.destination" value="${basedir}"/> >+ </target> >+ >+ <target name="properties" if="eclipse.running"> >+ <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> >+ >+ </target> >+ >+ <target name="build.update.jar" depends="init" description="Build the plug-in: org.eclipse.equinox.p2.artifact.repository for an update site."> >+ <delete dir="${temp.folder}"/> >+ <mkdir dir="${temp.folder}"/> >+ <antcall target="build.jars"/> >+ <antcall target="gather.bin.parts"> >+ <param name="destination.temp.folder" value="${temp.folder}/"/> >+ </antcall> >+ <jar destfile="${plugin.destination}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449.jar" basedir="${temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" filesetmanifest="merge"/> >+ <delete dir="${temp.folder}"/> >+ </target> >+ >+ <target name="@dot" depends="init" unless="@dot" description="Create jar: org.eclipse.equinox.p2.artifact.repository @dot."> >+ <delete dir="${build.result.folder}/@dot"/> >+ <mkdir dir="${build.result.folder}/@dot"/> >+ <path id="@dot.classpath"> >+ <pathelement path="../org.eclipse.osgi/bin/"/> >+ <pathelement path="../org.eclipse.osgi/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20081110.jar"/> >+ <pathelement path="../org.eclipse.equinox.common/bin/"/> >+ <pathelement path="../org.eclipse.equinox.common/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20081026.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20081026/runtime_registry_compatibility.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20081026"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20081024-1200.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.preferences_3.2.300.v20080722-0430.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.contenttype_3.4.0.v20081117.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.app_1.2.0.v20080901.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.osgi.services_3.1.200.v20071203.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/javax.servlet_2.4.0.v200806031604.jar"/> >+ <pathelement path="../org.eclipse.equinox.p2.core/bin/"/> >+ <pathelement path="../org.eclipse.equinox.p2.core/@dot"/> >+ <pathelement path="../org.eclipse.equinox.p2.jarprocessor/bin/"/> >+ <pathelement path="../org.eclipse.equinox.p2.jarprocessor/@dot"/> >+ <pathelement path="../org.eclipse.equinox.p2.metadata/bin/"/> >+ <pathelement path="../org.eclipse.equinox.p2.metadata/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20080722-0430.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.security.win32.x86_1.0.100.v20080722-0430.jar"/> >+ <pathelement path="../org.eclipse.ecf.filetransfer/bin/"/> >+ <pathelement path="../org.eclipse.ecf.filetransfer/@dot"/> >+ <pathelement path="../org.eclipse.ecf/bin/"/> >+ <pathelement path="../org.eclipse.ecf/@dot"/> >+ <pathelement path="../org.eclipse.ecf.ssl/bin/"/> >+ <pathelement path="../org.eclipse.ecf.ssl/@dot"/> >+ <pathelement path="../org.eclipse.ecf.core.identity/bin/"/> >+ <pathelement path="../org.eclipse.ecf.core.identity/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.apache.ant_1.7.1/lib/ant.jar"/> >+ </path> >+ <!-- compile the source code --> >+ <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}" > >+ <compilerarg line="${compilerArg}" compiler="${build.compiler}"/> >+ <classpath refid="@dot.classpath" /> >+ <src path="src/" /> >+ <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/> >+ <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/> >+ </javac> >+ <!-- Copy necessary resources --> >+ <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false"> >+ <fileset dir="src/"> >+ <exclude name="**/*.java"/> >+ <exclude name="**/package.htm*"/> >+ </fileset> >+ </copy> >+ </target> >+ >+ <target name="src.zip" depends="init" unless="src.zip"> >+ <mkdir dir="${build.result.folder}"/> >+ <antcall target="zip.src.zip"/> >+ </target> >+ <target name="zip.src.zip"> >+ <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false"> >+ <fileset dir="src/"> >+ <include name="**/*.java"/> >+ </fileset> >+ </zip> >+ </target> >+ <target name="copy.src.zip"> >+ <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true"> >+ <fileset dir="src/"> >+ <include name="**/*.java"/> >+ </fileset> >+ </copy> >+ </target> >+ >+ <target name="ant_tasks/artifactRepository-ant.jar" depends="init" unless="ant_tasks/artifactRepository-ant.jar" description="Create jar: org.eclipse.equinox.p2.artifact.repository ant_tasks/artifactRepository-ant.jar."> >+ <delete dir="${temp.folder}/ant_tasks/artifactRepository-ant.jar.bin"/> >+ <mkdir dir="${temp.folder}/ant_tasks/artifactRepository-ant.jar.bin"/> >+ <path id="ant_tasks/artifactRepository-ant.jar.classpath"> >+ <pathelement path="../org.eclipse.osgi/bin/"/> >+ <pathelement path="../org.eclipse.osgi/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20081110.jar"/> >+ <pathelement path="../org.eclipse.equinox.common/bin/"/> >+ <pathelement path="../org.eclipse.equinox.common/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20081026.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20081026/runtime_registry_compatibility.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20081026"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20081024-1200.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.preferences_3.2.300.v20080722-0430.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.contenttype_3.4.0.v20081117.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.app_1.2.0.v20080901.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.osgi.services_3.1.200.v20071203.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/javax.servlet_2.4.0.v200806031604.jar"/> >+ <pathelement path="../org.eclipse.equinox.p2.core/bin/"/> >+ <pathelement path="../org.eclipse.equinox.p2.core/@dot"/> >+ <pathelement path="../org.eclipse.equinox.p2.jarprocessor/bin/"/> >+ <pathelement path="../org.eclipse.equinox.p2.jarprocessor/@dot"/> >+ <pathelement path="../org.eclipse.equinox.p2.metadata/bin/"/> >+ <pathelement path="../org.eclipse.equinox.p2.metadata/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20080722-0430.jar"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.eclipse.equinox.security.win32.x86_1.0.100.v20080722-0430.jar"/> >+ <pathelement path="../org.eclipse.ecf.filetransfer/bin/"/> >+ <pathelement path="../org.eclipse.ecf.filetransfer/@dot"/> >+ <pathelement path="../org.eclipse.ecf/bin/"/> >+ <pathelement path="../org.eclipse.ecf/@dot"/> >+ <pathelement path="../org.eclipse.ecf.ssl/bin/"/> >+ <pathelement path="../org.eclipse.ecf.ssl/@dot"/> >+ <pathelement path="../org.eclipse.ecf.core.identity/bin/"/> >+ <pathelement path="../org.eclipse.ecf.core.identity/@dot"/> >+ <pathelement path="bin/"/> >+ <pathelement path="${build.result.folder}/../org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449/bin/"/> >+ <pathelement path="${build.result.folder}/@dot"/> >+ <pathelement path="${build.result.folder}/../org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449/@dot"/> >+ <pathelement path="../../../../Program Files/eclipse/plugins/org.apache.ant_1.7.1/lib/ant.jar"/> >+ </path> >+ <!-- compile the source code --> >+ <javac destdir="${temp.folder}/ant_tasks/artifactRepository-ant.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}" > >+ <compilerarg line="${compilerArg}" compiler="${build.compiler}"/> >+ <classpath refid="ant_tasks/artifactRepository-ant.jar.classpath" /> >+ <src path="src_ant/" /> >+ <compilerarg value="@${basedir}/javaCompiler.ant_tasks_artifactRepository-ant.jar.args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/> >+ <compilerarg line="-log '${temp.folder}/ant_tasks/artifactRepository-ant.jar.bin${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/> >+ </javac> >+ <!-- Copy necessary resources --> >+ <copy todir="${temp.folder}/ant_tasks/artifactRepository-ant.jar.bin" failonerror="true" overwrite="false"> >+ <fileset dir="src_ant/"> >+ <exclude name="**/*.java"/> >+ <exclude name="**/package.htm*"/> >+ </fileset> >+ </copy> >+ <mkdir dir="${build.result.folder}/ant_tasks"/> >+ <jar destfile="${build.result.folder}/ant_tasks/artifactRepository-ant.jar" basedir="${temp.folder}/ant_tasks/artifactRepository-ant.jar.bin"/> >+ <delete dir="${temp.folder}/ant_tasks/artifactRepository-ant.jar.bin"/> >+ </target> >+ >+ <target name="ant_tasks/artifactRepository-antsrc.zip" depends="init" unless="ant_tasks/artifactRepository-antsrc.zip"> >+ <mkdir dir="${build.result.folder}/ant_tasks"/> >+ <antcall target="zip.ant_tasks/artifactRepository-antsrc.zip"/> >+ </target> >+ <target name="zip.ant_tasks/artifactRepository-antsrc.zip"> >+ <zip destfile="${build.result.folder}/ant_tasks/artifactRepository-antsrc.zip" filesonly="false" whenempty="skip" update="false"> >+ <fileset dir="src_ant/"> >+ <include name="**/*.java"/> >+ </fileset> >+ </zip> >+ </target> >+ <target name="copy.ant_tasks/artifactRepository-antsrc.zip"> >+ <copy todir="${source.destination.folder}/ant_tasks/artifactRepository-antsrc" failonerror="true" overwrite="true"> >+ <fileset dir="src_ant/"> >+ <include name="**/*.java"/> >+ </fileset> >+ </copy> >+ </target> >+ >+ <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: org.eclipse.equinox.p2.artifact.repository."> >+ <available property="@dot" file="${build.result.folder}/@dot"/> >+ <antcall target="@dot"/> >+ <available property="ant_tasks/artifactRepository-ant.jar" file="${build.result.folder}/ant_tasks/artifactRepository-ant.jar"/> >+ <antcall target="ant_tasks/artifactRepository-ant.jar"/> >+ </target> >+ >+ <target name="build.sources" depends="init"> >+ <available property="src.zip" file="${build.result.folder}/src.zip"/> >+ <antcall target="src.zip"/> >+ <available property="ant_tasks/artifactRepository-antsrc.zip" file="${build.result.folder}/ant_tasks/artifactRepository-antsrc.zip"/> >+ <antcall target="ant_tasks/artifactRepository-antsrc.zip"/> >+ </target> >+ >+ <target name="gather.bin.parts" depends="init" if="destination.temp.folder"> >+ <mkdir dir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449"/> >+ <copy todir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" failonerror="true" overwrite="false"> >+ <fileset dir="${build.result.folder}"> >+ <include name="ant_tasks/artifactRepository-ant.jar"/> >+ </fileset> >+ </copy> >+ <copy todir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" failonerror="true" overwrite="false"> >+ <fileset dir="${build.result.folder}/@dot"> >+ <include name="**"/> >+ </fileset> >+ </copy> >+ <copy todir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" failonerror="true" overwrite="false"> >+ <fileset dir="${basedir}"> >+ <include name="META-INF/"/> >+ <include name="plugin.xml"/> >+ <include name="about.html"/> >+ <include name="plugin.properties"/> >+ <include name="ant_tasks/artifactRepository-ant.jar"/> >+ </fileset> >+ </copy> >+ <eclipse.versionReplacer path="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" version="1.0.100.z200811211449"/> >+ </target> >+ >+ <target name="build.zips" depends="init"> >+ </target> >+ >+ <target name="gather.sources" depends="init" if="destination.temp.folder"> >+ <mkdir dir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449/ant_tasks"/> >+ <copy file="${build.result.folder}/ant_tasks/artifactRepository-antsrc.zip" todir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449/ant_tasks" failonerror="false" overwrite="false"/> >+ <mkdir dir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449"/> >+ <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" failonerror="false" overwrite="false"/> >+ <antcall target="copy.src.includes"> >+ <param name="source.destination.folder" value="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449"/> >+ </antcall> >+ </target> >+ >+ <target name="gather.individual.sources" depends="init"> >+ <antcall target="copy.ant_tasks/artifactRepository-antsrc.zip"> >+ <param name="source.destination.folder" value="${destination.temp.folder}"/> >+ </antcall> >+ <antcall target="copy.src.zip"> >+ <param name="source.destination.folder" value="${destination.temp.folder}"/> >+ </antcall> >+ <antcall target="copy.src.includes"> >+ <param name="source.destination.folder" value="${destination.temp.folder}"/> >+ </antcall> >+ </target> >+ >+ <target name="copy.src.includes" depends="init"> >+ <copy todir="${source.destination.folder}" failonerror="false" overwrite="false"> >+ <fileset dir="${basedir}"> >+ <include name="about.html"/> >+ <include name="schema/"/> >+ </fileset> >+ </copy> >+ </target> >+ >+ <target name="gather.logs" depends="init" if="destination.temp.folder"> >+ <mkdir dir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449/ant_tasks"/> >+ <copy todir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449/ant_tasks" failonerror="false" overwrite="false"> >+ <fileset dir="${temp.folder}/ant_tasks"> >+ <include name="artifactRepository-ant.jar.bin${logExtension}"/> >+ </fileset> >+ </copy> >+ <mkdir dir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449"/> >+ <copy todir="${destination.temp.folder}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449" failonerror="false" overwrite="false"> >+ <fileset dir="${build.result.folder}"> >+ <include name="@dot${logExtension}"/> >+ </fileset> >+ </copy> >+ </target> >+ >+ <target name="clean" depends="init" description="Clean the plug-in: org.eclipse.equinox.p2.artifact.repository of all the zips, jars and logs created."> >+ <delete file="${build.result.folder}/ant_tasks/artifactRepository-ant.jar"/> >+ <delete file="${build.result.folder}/ant_tasks/artifactRepository-antsrc.zip"/> >+ <delete dir="${build.result.folder}/@dot"/> >+ <delete file="${build.result.folder}/src.zip"/> >+ <delete file="${plugin.destination}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449.jar"/> >+ <delete file="${plugin.destination}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449.zip"/> >+ <delete dir="${temp.folder}"/> >+ </target> >+ >+ <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder."> >+ <eclipse.convertPath fileSystemPath="C:/Documents and Settings/agcattle/workspace/org.eclipse.equinox.p2.artifact.repository" property="resourcePath"/> >+ <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/> >+ </target> >+ >+ <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: org.eclipse.equinox.p2.artifact.repository."> >+ <delete dir="${temp.folder}"/> >+ <mkdir dir="${temp.folder}"/> >+ <antcall target="build.jars"/> >+ <antcall target="build.sources"/> >+ <antcall target="gather.bin.parts"> >+ <param name="destination.temp.folder" value="${temp.folder}/"/> >+ </antcall> >+ <antcall target="gather.sources"> >+ <param name="destination.temp.folder" value="${temp.folder}/"/> >+ </antcall> >+ <delete> >+ <fileset dir="${temp.folder}"> >+ <include name="**/*.bin${logExtension}"/> >+ </fileset> >+ </delete> >+ <zip destfile="${plugin.destination}/org.eclipse.equinox.p2.artifact.repository_1.0.100.z200811211449.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/> >+ <delete dir="${temp.folder}"/> >+ </target> >+ >+</project> >Index: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/MirrorApplicationTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/MirrorApplicationTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/MirrorApplicationTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/MirrorApplicationTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,122 @@ >+package org.eclipse.equinox.internal.p2.artifact.repository.ant; >+ >+import java.net.MalformedURLException; >+import java.net.URL; >+import java.util.HashMap; >+import java.util.Map; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.equinox.app.IApplicationContext; >+import org.eclipse.equinox.internal.p2.artifact.mirror.MirrorApplication; >+import org.osgi.framework.Bundle; >+ >+public class MirrorApplicationTask extends Task { >+ URL source; >+ URL destination; >+ URL baseline; >+ String comparatorID; >+ String message = ""; >+ boolean emptyRepository = false; >+ boolean compare = false; >+ boolean ignoreErrors = false; >+ boolean raw = false; >+ boolean verbose = false; >+ >+ /** >+ * runs the mirror application with arguments args >+ */ >+ private void runMirrorApplication(String msg, final String[] args) throws Exception { >+ MirrorApplication application = new MirrorApplication(); >+ application.start(new IApplicationContext() { >+ >+ public void applicationRunning() { >+ } >+ >+ public Map getArguments() { >+ Map arguments = new HashMap(); >+ >+ arguments.put(IApplicationContext.APPLICATION_ARGS, args); >+ >+ return arguments; >+ } >+ >+ public String getBrandingApplication() { >+ return null; >+ } >+ >+ public Bundle getBrandingBundle() { >+ return null; >+ } >+ >+ public String getBrandingDescription() { >+ return null; >+ } >+ >+ public String getBrandingId() { >+ return null; >+ } >+ >+ public String getBrandingName() { >+ return null; >+ } >+ >+ public String getBrandingProperty(String key) { >+ return null; >+ } >+ }); >+ } >+ >+ public void execute() { >+ //Compare against if baseline specified >+ boolean compareAgainst = baseline != null; >+ boolean comparator = comparatorID != null; >+ //create arguments >+ String[] args = new String[] {"-source", source.toExternalForm(), "-destination", destination.toExternalForm(), emptyRepository ? "-emptyRepository" : "", compare ? "-compare" : "", ignoreErrors ? "-ignoreErrors" : "", raw ? "-raw" : "", verbose ? "-verbose" : "", compareAgainst ? "-compareAgainst" : "", compareAgainst ? baseline.toExternalForm() : "", comparator ? "-comparator" : "", comparator ? comparatorID : ""}; >+ >+ try { >+ runMirrorApplication(message, args); >+ } catch (Exception e) { >+ throw new BuildException("Exception while running mirror application.", e); >+ } >+ } >+ >+ public void setSource(String value) throws MalformedURLException { >+ source = new URL(value); >+ } >+ >+ public void setDestination(String value) throws MalformedURLException { >+ destination = new URL(value); >+ } >+ >+ public void setBaseline(String value) throws MalformedURLException { >+ baseline = new URL(value); >+ } >+ >+ public void setComparatorID(String value) { >+ comparatorID = value; >+ } >+ >+ public void setMessage(String value) { >+ message = value; >+ } >+ >+ public void setEmptyRepository(boolean value) { >+ emptyRepository = value; >+ } >+ >+ public void setCompare(boolean value) { >+ compare = value; >+ } >+ >+ public void setIgnoreErrors(boolean value) { >+ ignoreErrors = value; >+ } >+ >+ public void setRaw(boolean value) { >+ raw = value; >+ } >+ >+ public void setVerbose(boolean value) { >+ verbose = value; >+ } >+} >Index: buildAntTasks.xml >=================================================================== >RCS file: buildAntTasks.xml >diff -N buildAntTasks.xml >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ buildAntTasks.xml 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,9 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<project name="org.eclipse.equinox.p2.metadata.generator" default="default" basedir="."> >+ >+ <target name="default" description="Jar up the binaries that were compiled by the jdt builder" > >+ <mkdir dir="${basedir}/ant_tasks" /> >+ <delete file="${basedir}/ant_tasks/artifactRepository-ant.jar" failonerror="false"/> >+ <jar destfile="${basedir}/ant_tasks/artifactRepository-ant.jar" basedir="${basedir}/bin_ant"/> >+ </target> >+</project> >\ No newline at end of file >Index: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveAllChildrenTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveAllChildrenTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveAllChildrenTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveAllChildrenTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,32 @@ >+package org.eclipse.equinox.internal.p2.artifact.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.artifact.repository.Activator; >+import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+ >+public class RemoveAllChildrenTask extends Task { >+ URI location; >+ >+ public void execute() { >+ IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName()); >+ >+ CompositeArtifactRepository repo = null; >+ try { >+ repo = (CompositeArtifactRepository) manager.loadRepository(location, null); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while loading repository.", e); >+ } >+ repo.removeAllChildren(); >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+} >Index: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,40 @@ >+package org.eclipse.equinox.internal.p2.artifact.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import org.apache.tools.ant.BuildException; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.artifact.repository.Activator; >+import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+ >+public class ValidateTask { >+ URI location; >+ String comparatorID; >+ >+ public void execute() { >+ IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName()); >+ >+ CompositeArtifactRepository repo = null; >+ try { >+ repo = (CompositeArtifactRepository) manager.loadRepository(location, null); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while loading repository.", e); >+ } >+ >+ if (repo.validate(comparatorID)) >+ System.err.println("Sanity Check is OK"); >+ else >+ System.err.println("Sanity Check failed"); >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+ >+ public void setComparatorID(String value) { >+ comparatorID = value; >+ } >+} >Index: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,50 @@ >+package org.eclipse.equinox.internal.p2.artifact.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.artifact.repository.Activator; >+import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+ >+public class AddChildTask extends Task { >+ URI location; >+ URI child; >+ String comparatorID; >+ >+ public void execute() { >+ IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName()); >+ >+ CompositeArtifactRepository repo = null; >+ try { >+ repo = (CompositeArtifactRepository) manager.loadRepository(location, null); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while loading repository.", e); >+ } >+ >+ if (comparatorID != null) { >+ if (repo.addChild(child, comparatorID)) >+ System.out.println(child + " was added successfully"); >+ else >+ System.out.println(child + " was not added"); >+ } else { >+ repo.addChild(child); >+ } >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+ >+ public void setChild(String value) throws URISyntaxException { >+ child = URIUtil.fromString(value); >+ } >+ >+ public void setComparatorID(String value) { >+ comparatorID = value; >+ } >+} >Index: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java >=================================================================== >RCS file: src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java >diff -N src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,37 @@ >+package org.eclipse.equinox.internal.p2.artifact.repository.ant; >+ >+import java.net.URI; >+import java.net.URISyntaxException; >+import org.apache.tools.ant.BuildException; >+import org.apache.tools.ant.Task; >+import org.eclipse.core.runtime.URIUtil; >+import org.eclipse.equinox.internal.p2.artifact.repository.Activator; >+import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository; >+import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >+import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager; >+import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; >+ >+public class RemoveChildTask extends Task { >+ URI location; >+ URI child; >+ >+ public void execute() { >+ IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName()); >+ >+ CompositeArtifactRepository repo; >+ try { >+ repo = (CompositeArtifactRepository) manager.loadRepository(location, null); >+ } catch (ProvisionException e) { >+ throw new BuildException("Exception while loading repository.", e); >+ } >+ repo.removeChild(child); >+ } >+ >+ public void setLocation(String value) throws URISyntaxException { >+ location = URIUtil.fromString(value); >+ } >+ >+ public void setChild(String value) throws URISyntaxException { >+ child = URIUtil.fromString(value); >+ } >+} >Index: .externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch >=================================================================== >RCS file: .externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch >diff -N .externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ .externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,18 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> >+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/> >+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> >+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> >+<listEntry value="/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml"/> >+</listAttribute> >+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> >+<listEntry value="1"/> >+</listAttribute> >+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> >+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> >+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> >+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.artifact.repository"/> >+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml}"/> >+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/> >+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> >+</launchConfiguration>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 255913
:
119374
|
120212
|
120876
|
120947
|
122471