| import virgobuild.Constants |
| |
| import static virgobuild.UpdateSitePlugin.CREATE_P2_REPOSITORY_TASK_NAME |
| import static virgobuild.VirgoToolsPlugin.installProduct |
| import static virgobuild.VirgoToolsPlugin.publishProduct |
| |
| apply plugin: virgobuild.UpdateSitePlugin |
| apply plugin: 'org.hidetake.ssh' |
| |
| buildscript { |
| repositories { jcenter() } |
| dependencies { classpath 'org.hidetake:gradle-ssh-plugin:1.1.2' } |
| } |
| |
| updateSite { |
| extraResources = files('epl-v10.html', 'notice.html', 'p2.index') |
| hook { Project project -> |
| postProcessing(project) |
| } |
| signing { File unsignedFolder, File signedFolder -> |
| if (gradle.taskGraph.hasTask(uploadUpdateSite)) { |
| signByEclipseService(unsignedFolder, signedFolder) |
| } else { |
| signLocally(unsignedFolder, signedFolder) |
| } |
| } |
| mutateArtifactsXml { Node artifactsXml -> |
| addExtraPropertiesToArtifactsXml(artifactsXml) |
| } |
| } |
| |
| remotes { |
| eclipseDotOrg { |
| host = ECLIPSE_ORG_FTP_HOST |
| user = ECLIPSE_ORG_FTP_USER |
| password = ECLIPSE_ORG_FTP_PASSWORD |
| knownHosts = project.rootProject.file('gradle/ssh/known_hosts') |
| } |
| } |
| |
| dependencies { |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.agent.dm') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.artifact') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.deployer') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.deployer.dm') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.dmfragment') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.equinox.extensions') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.kerneldmfragment') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.model') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.osgi') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.services') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.userregion') |
| localPlugin project(':kernel:org.eclipse.virgo.kernel.userregionfactory') |
| localPlugin project(':kernel:org.eclipse.virgo.management.console') |
| localPlugin project(':kernel:org.eclipse.virgo.management.fragment') |
| localPlugin project(':kernel:org.eclipse.virgo.shell.command') |
| |
| localPlugin project(':medic:org.eclipse.virgo.medic') |
| localPlugin project(':medic:org.eclipse.virgo.medic.core') |
| localPlugin project(':medic:org.eclipse.virgo.medic.logbackclassicfragment') |
| localPlugin project(':medic:org.eclipse.virgo.medic.logbackcorefragment') |
| |
| localPlugin project(':nano:org.eclipse.virgo.nano.core') |
| localPlugin project(':nano:org.eclipse.virgo.nano.deployer') |
| localPlugin project(':nano:org.eclipse.virgo.nano.deployer.api') |
| localPlugin project(':nano:org.eclipse.virgo.nano.deployer.hot') |
| localPlugin project(':nano:org.eclipse.virgo.nano.management') |
| localPlugin project(':nano:org.eclipse.virgo.nano.management.controller') |
| localPlugin project(':nano:org.eclipse.virgo.nano.services.concurrent') |
| localPlugin project(':nano:org.eclipse.virgo.nano.services.ds') |
| |
| localPlugin project(':repository:org.eclipse.virgo.repository') |
| // TODO - review if all those signedExternalPlugins are signed |
| signedExternalPlugin group: 'org.eclipse.virgo.mirrored', name: 'org.apache.commons.codec', version: commonsCodecVersion, ext: "jar" |
| // optional requirement for org.springframework.core |
| |
| signedExternalPlugin group: 'org.eclipse.virgo.mirrored', name: 'oevm.org.apache.commons.httpclient', version: commonsHttpClientVersion, ext: "jar" |
| |
| localPlugin project(':util:org.eclipse.virgo.util.common') |
| localPlugin project(':util:org.eclipse.virgo.util.env') |
| localPlugin project(':util:org.eclipse.virgo.util.io') |
| localPlugin project(':util:org.eclipse.virgo.util.jmx') |
| localPlugin project(':util:org.eclipse.virgo.util.math') |
| localPlugin project(':util:org.eclipse.virgo.util.osgi') |
| localPlugin project(':util:org.eclipse.virgo.util.osgi.manifest') |
| localPlugin project(':util:org.eclipse.virgo.util.parser.launcher') |
| localPlugin project(':util:org.eclipse.virgo.util.parser.manifest') |
| |
| localPlugin project(':web:org.eclipse.virgo.web.core') |
| localPlugin project(':web:org.eclipse.virgo.web.dm') |
| localPlugin project(':web:org.eclipse.virgo.web.tomcat.support') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.appdeployer') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.applistener') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.javax.persistence.extension') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.javax.persistence.provider.initializer') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.jsf.support') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.bval') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.jotm') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.jpa') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.initialiser') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.jpa.integration') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.tomcat.factory') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.openwebbeans.initialiser') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.persistence.openejb.classloading.hook') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.security') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.security.valve') |
| localPlugin project(':web:org.eclipse.virgo.web.enterprise.services.accessor') |
| localPlugin project(':web:org.eclipse.virgo.web.servlet.adapter') |
| localPlugin project(':web:org.eclipse.virgo.web.spring.integration') |
| localPlugin project(':web:org.eclipse.virgo.web.war.deployer') |
| |
| // TODO - review if all those signedExternalPlugins are signed |
| signedExternalPlugin group: "org.slf4j", name: "slf4j-api", version: slf4jVersion |
| signedExternalPlugin group: "org.slf4j", name: "jul-to-slf4j", version: slf4jVersion |
| // exports package org.apache.commons.logging (jcl - Jakarta Commons Logging) |
| signedExternalPlugin group: "org.slf4j", name: "jcl-over-slf4j", version: slf4jVersion |
| signedExternalPlugin group: "org.slf4j", name: "log4j-over-slf4j", version: slf4jVersion |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.aspectj.weaver", version: aspectjVersion, ext: "jar" |
| |
| // TODO - rename feature to region'_' |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.equinox.regions') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.region", version: equinoxRegionVersion, configuration: "compile", ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.core') |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.ds') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi.services", version: osgiServicesVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.common", version: equinoxCommonVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.ds", version: equinoxDsVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.event", version: equinoxEventVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.util", version: equinoxUtilVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.cm", version: equinoxCmVersion, configuration: "compile", ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.kernel') |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.equinox.http.jetty') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.http.jetty", version: equinoxHttpJettyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.http.servlet", version: equinoxHttpServletVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jetty.continuation", version: jettyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jetty.http", version: jettyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jetty.io", version: jettyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jetty.security", version: jettyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jetty.server", version: jettyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jetty.servlet", version: jettyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jetty.util", version: jettyVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "runtime", ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.rap') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.rap.rwt", version: rapRwtVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.rap.rwt.osgi", version: rapRwtOsgiVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.commands", version: eclipseCoreCommandsVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.rap.jface", version: rapJfaceVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "com.ibm.icu.base", version: icuBaseVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.databinding", version: eclipseCoreDatabindingVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.databinding.property", version: eclipseCoreDatabindingPropertyVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.databinding.observable", version: eclipseCoreDatabindingObservableVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.rap.jface.databinding", version: rapJfaceDatabindingVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.rap.ui", version: rapUiVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "runtime", ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.kernel.springintegration') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.springframework.expression", version: springframeworkVersion, ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.management') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "osgi.enterprise", version: osgiEnterpriseVersion, configuration: "compile", ext: "jar" |
| // contains org.osgi.jmx |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.gemini.management", version: geminiManagementVersion, configuration: "compile", ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.medic') |
| signedExternalPlugin group: "ch.qos.logback", name: "logback-core", version: logbackVersion |
| signedExternalPlugin group: "ch.qos.logback", name: "logback-classic", version: logbackVersion |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.nano.deployer') |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.nano.mbeans') |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.nano.mbeans.controller') |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.shell') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.console", version: equinoxConsoleVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.console.ssh", version: equinoxConsoleSshVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.mina.core", version: minaCoreVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.sshd.core", version: apacheSshdCoreVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.felix.gogo.command", version: gogoCommandVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.felix.gogo.runtime", version: gogoRuntimeVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.felix.gogo.shell", version: gogoShellVersion, configuration: "compile", ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.simpleconfigurator') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.simpleconfigurator", version: equinoxSimpleConfiguratorVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.simpleconfigurator.manipulator", version: equinoxSimpleConfiguratorManipulatorVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.frameworkadmin", version: equinoxFrameworkadminVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.frameworkadmin.equinox", version: equinoxFrameworkadminEquinoxVersion, configuration: "compile", ext: "jar" |
| |
| // TODO - rename feature to org.eclipse.gemini.blueprint |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.springdm') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "oevm.org.aopalliance", version: orgAopAllianceVersion, ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.springframework.aop", version: springframeworkVersion, ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.springframework.beans", version: springframeworkVersion, ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.springframework.context", version: springframeworkVersion, ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.springframework.core", version: springframeworkVersion, ext: "jar" |
| signedExternalPlugin group: "org.eclipse.gemini.blueprint", name: "gemini-blueprint-io", version: geminiBlueprintVersion, ext: "jar" |
| signedExternalPlugin group: "org.eclipse.gemini.blueprint", name: "gemini-blueprint-core", version: geminiBlueprintVersion, ext: "jar" |
| signedExternalPlugin group: "org.eclipse.gemini.blueprint", name: "gemini-blueprint-extender", version: geminiBlueprintVersion, ext: "jar" |
| |
| // nano base |
| // TODO - merge to oev.nano.services ? |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.services.concurrent') |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.services.ds') |
| |
| // TODO - merge with management features above? |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.webconsole.deps') |
| |
| signedExternalPlugin group: "commons-fileupload", name: "commons-fileupload", version: commonsFileuploadVersion, ext: "jar" |
| signedExternalPlugin group: "commons-io", name: "commons-io", version: commonsIoVersion, ext: "jar" |
| signedExternalPlugin group: "org.jolokia", name: "jolokia-osgi", version: jolokiaVersion, ext: "jar" |
| |
| // nano full |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.p2.provisioning') |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.contenttype", version: eclipseCoreContenttypeVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.jobs", version: eclipseCoreJobsVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.net", version: eclipseCoreNetVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.core.runtime", version: eclipseCoreRuntimeVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.ecf", version: eclipseEcfVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.ecf.filetransfer", version: eclipseEcfFiletransferVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.ecf.identity", version: eclipseEcfIdentityVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.ecf.provider.filetransfer", version: eclipseEcfProviderFiletransferVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.ecf.ssl", version: eclipseEcfSslVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.app", version: equinoxAppVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.preferences", version: equinoxPreferencesVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.registry", version: equinoxRegistryVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.security", version: equinoxSecurityVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.sat4j.core", version: sat4jCoreVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.sat4j.pb", version: sat4jPbVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.artifact.repository", version: p2ArtifactRepositoryVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.console", version: p2ConsoleVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.core", version: p2CoreVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.director", version: p2DirectorVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.engine", version: p2EngineVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.garbagecollector", version: p2GarbageCollectorVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.jarprocessor", version: p2JarProcessorVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.metadata", version: p2MetadataVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.metadata.repository", version: p2MetadataRepositoryVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.publisher", version: p2PublisherVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.publisher.eclipse", version: p2PublisherEclipseVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.repository", version: p2RepositoryVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.touchpoint.eclipse", version: p2TouchpointEclipseVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.touchpoint.natives", version: p2TouchpointNativesVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.p2.transport.ecf", version: p2TransportEcfVersion, configuration: "compile", ext: "jar" |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.nano.war.deployer') |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.enterprise') |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.gemini.web') |
| signedExternalPlugin group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.core", version: geminiWebVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.extender", version: geminiWebVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.tomcat", version: geminiWebVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.jaspic.fragment", version: geminiWebVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.log4j", version: apacheLog4jVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.objectweb.asm", version: objectwebAsmVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javassist", version: javassistVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "scannotation", version: scannotationVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.bval", version: apacheBvalVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.quartz", version: quartzVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.ow2.jotm.jotm-core", version: jotmVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "javax.interceptor", name: "javax.interceptor-api", version: javaxInterceptorVersion |
| signedExternalPlugin group: "javax.transaction", name: "javax.transaction-api", version: javaxTransactionVersion |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.annotation", version: javaxAnnotationVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.ejb", version: javaxEjbVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.inject", version: javaxInjectVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.jms", version: javaxJmsVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.persistence", version: javaxPersistenceVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.resource", version: javaxResourceVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.security.auth.message", version: javaxSecurityAuthMessageVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.security.jacc", version: javaxSecurityJaccVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "javax.servlet.jsp.jstl", name: "javax.servlet.jsp.jstl-api", version: javaxServletJspJstlApiVersion |
| signedExternalPlugin group: "org.glassfish.web", name: "javax.servlet.jsp.jstl", version: javaxServletJspJstlImplVersion |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.validation", version: javaxValidationVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.wsdl", version: javaxWsdlVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.ws.rs", version: javaxWsRsVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.glassfish.javax.faces", version: glassfishJavaxFacesVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.glassfish.com.sun.faces", version: glassfishComSunFacesVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.geronimo.components.connector", version: geronimoComponentsConnectorVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.geronimo.components.transaction", version: geronimoComponentsTransactionVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.geronimo.specs.j2ee.management", version: geronimoSpecsJ2eeManagementVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.geronimo.specs.osgi.locator", version: geronimoSpecsOsgiLocatorVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.geronimo.specs.osgi.registry", version: geronimoSpecsOsgiRegistryVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.commons.beanutils", version: commonsBeanutilsVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "oevm.org.apache.commons.cli", version: commonsCliVersion, ext: "jar" |
| signedExternalPlugin group: "commons-collections", name: "commons-collections", version: commonsCollectionsVersion |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.commons.lang", version: commonsLangVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.commons.dbcp", version: commonsDbcpVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.commons.pool", version: commonsPoolVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "cdi.api", version: cdiApiVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.api", version: apacheOpenejbVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.core", version: apacheOpenejbCoreVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.javaagent", version: apacheOpenejbVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.jee", version: apacheOpenejbVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.loader", version: apacheOpenejbVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.jpa-integration", version: apacheOpenejbVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.ee", version: apacheOpenwebbeansEEVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.ee.common", version: apacheOpenwebbeansVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.ejb", version: apacheOpenwebbeansEEVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.impl", version: apacheOpenwebbeansVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.jsf", version: apacheOpenwebbeansVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.spi", version: apacheOpenwebbeansVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.tomcat7", version: apacheOpenwebbeansTomcat7Version, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.web", version: apacheOpenwebbeansVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.xbean.asm", version: apacheXBeanAsmVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.xbean.bundleutils", version: apacheXBeanBundleutilsVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.xbean.finder", version: apacheXBeanFinderVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.xbean.naming", version: apacheXBeanNamingVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.xbean.reflect", version: apacheXBeanReflectVersion, configuration: "compile", ext: "jar" |
| |
| // Tomcat Runtime |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.el", version: javaxElVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "com.sun.mail", name: "javax.mail", version: javaxMailVersion |
| // TODO - check CQ and put version into properties |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.activation", version: '1.1.0.v201211130549', configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.servlet.jsp", version: javaxServletJspVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.websocket", version: javaxWebsocketVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "javax.xml.rpc", version: javaxXmlRpcVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina.ha", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina.tribes", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.coyote", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.el", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.jasper", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.juli", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.api", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.util", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.jni", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.websocket", version: apacheCatalinaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jdt.core.compiler.batch", version: eclipseJdtCoreCompilerBatchVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.persistence.antlr", version: eclipsePersistenceAntlrVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.persistence.asm", version: eclipsePersistenceAsmVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.persistence.core", version: eclipsePersistenceCoreVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.persistence.jpa", version: eclipsePersistenceJpaVersion, configuration: "compile", ext: "jar" |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.eclipse.persistence.jpa.jpql", version: eclipsePersistenceJpaJpqlVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin group: "org.eclipse.virgo.mirrored", name: "org.apache.derby", version: apacheDerbyVersion, configuration: "compile", ext: "jar" |
| |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.appdeployer') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.applistener') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.javax.persistence.extension') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.javax.persistence.provider.initializer') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.jsf.support') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.bval') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.jotm') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.jpa') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.initialiser') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.openejb.tomcat.factory') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.openwebbeans.initialiser') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.persistence.openejb.classloading.hook') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.security') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.security.valve') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.enterprise.services.accessor') |
| signedExternalPlugin project(':web:org.eclipse.virgo.web.war.deployer') |
| |
| localFeature project(':org.eclipse.virgo.site:org.eclipse.virgo.tools') |
| } |
| |
| task zipUpdateSite(type: Zip, dependsOn: createP2Repository) { |
| from "${buildDir}/repository" |
| baseName 'repository' |
| } |
| |
| task uploadUpdateSite(dependsOn: createP2Repository) { |
| description = "Uploads the generated update site to the eclipse.org server." |
| |
| doLast { |
| // folder structure |
| // releases (main folder - composite update site if release repository) |
| // |--1.0 (version folder - always a composite update site) |
| // |--1.0.0.v20150413-1512 (repository folder - simple update site) |
| |
| // define the folder structure |
| def releaseTypeFolder = "${ECLIPSE_ORG_FTP_UPDATE_SITES_PATH}/${releaseTypeFolder(project)}" |
| def versionFolder = "${releaseTypeFolder}/${releaseVersion()}" |
| def repositoryFolder = "${versionFolder}/${project.version}" |
| |
| // create composite update site for the root of the release repository and for the versions folder |
| def config = eclipsebuild.BuildshipConfig.on(project) |
| def compositeFolders = config.isRelease() ? [ |
| releaseTypeFolder, |
| versionFolder |
| ] : [versionFolder] |
| |
| // upload the update site and update the composite descriptors |
| ssh.run { |
| session(remotes.eclipseDotOrg) { |
| // create the leaf directory if not exist |
| execute "mkdir -p $repositoryFolder" |
| |
| // copy the update site from the build directory to the remote location |
| put from: files { file("$buildDir/repository").listFiles() }, into: repositoryFolder |
| |
| // recreate the compositeArtifacts.jar and the compositeContent.jar files |
| compositeFolders.each { |
| execute("""cd ${it} |
| ${file('updateCompositeUpdateSite.sh').text}""") |
| } |
| } |
| } |
| } |
| } |
| |
| // utility methods |
| def releaseTypeFolder(Project project) { |
| def config = eclipsebuild.BuildshipConfig.on(project) |
| if (config.isRelease()) { |
| "releases" |
| } else if (config.isMilestone()) { |
| "milestones" |
| } else if (config.isSnapshot()) { |
| "snapshots" |
| } else { |
| throw new IllegalStateException("BuildshipConfig must either be a release, milestone, or snapshot.") |
| } |
| } |
| |
| def releaseVersion() { |
| // crop the major.minor segment from the version number |
| def matcher = version =~ /(\d+\.\d+)\.\d+\..*/ |
| matcher[0][1] |
| } |
| |
| private void postProcessing(project) { |
| } |
| |
| private void signByEclipseService(unsignedFolder, signedFolder) { |
| ssh.run { |
| session(remotes.eclipseDotOrg) { |
| // the remote folder where the jars are signed |
| def remoteFolder = "${ECLIPSE_ORG_TEMP_PATH}/${signedFolder.name}" |
| |
| // clean up the folder used for signing if the previous build failed |
| execute """rm -rf $remoteFolder |
| mkdir -p $remoteFolder""" |
| |
| // transfer the unsigned files to the remote host |
| put from: file(unsignedFolder).listFiles() as List, into: remoteFolder |
| |
| // perform the signing |
| execute """ cd $remoteFolder |
| # iterate all jars in the subfolders |
| for jar in \$(find `pwd` -name '*.jar'); |
| do |
| # save the signed jar into a temporary file copy and write it's content to the unsigned jar |
| curl -o signed.jar -F filedata=@\$jar http://build.eclipse.org:31338/sign |
| cp signed.jar \$jar |
| rm signed.jar |
| done |
| """ |
| |
| // retrieve the signed content from the remote host into the build/signed-bundles folder |
| get from: remoteFolder, into: signedFolder.parentFile |
| |
| // clean up the remote folder |
| execute "rm -rf $remoteFolder" |
| } |
| } |
| } |
| |
| private void signLocally(File unsignedFolder, File signedFolder) { |
| def unsignedPluginsDir = new File(unsignedFolder, "plugins") |
| def unsignedFeaturesDir = new File(unsignedFolder, "features") |
| def signedPluginsDir = new File(signedFolder, "plugins") |
| def signedFeaturesDir = new File(signedFolder, "features") |
| |
| signedPluginsDir.mkdirs() |
| signedFeaturesDir.mkdirs() |
| |
| if (System.properties['skip.local.signing'] == 'true') { |
| project.logger.warn("Skipping local signing process!") |
| project.copy { from unsignedPluginsDir into signedPluginsDir } |
| project.copy { from unsignedFeaturesDir into signedFeaturesDir } |
| } |
| |
| // TODO - add assert "keystore exists" - otherwise print this help! |
| // How to generate you own Java Key Store for local signing: |
| // $ keytool -genkey -alias virgo -keystore virgo.jks -storepass changeme -keypass development -dname "cn=Florian Waibel, ou=Virgo, o=EclipseSource, c=DE" -validity 365 |
| // Verify the keystore on the command line: |
| // $ jarsigner -keystore virgo.jks -storepass changeme -keypass development org.eclipse.virgo.util.env-3.7.0.M2.jar virgo |
| // $ jarsigner -verify -verbose -certs org.eclipse.virgo.util.env-3.7.0.M2.jar |
| File targetDir = signedPluginsDir |
| def signBundle = { |
| if (System.properties['skip.local.signing'] != 'true') { |
| project.logger.info("Sign '${it.absolutePath}'") |
| project.ant.signjar( |
| verbose: 'true', |
| destDir: targetDir, |
| alias: 'virgo', |
| jar: it, |
| keystore: project.findProject(':').file('config/signing/virgo.jks'), |
| storepass: 'changeme', |
| keypass: 'development', |
| sigalg: 'SHA1withDSA', |
| digestalg: 'SHA1', |
| preservelastmodified: 'true') |
| } |
| } |
| |
| unsignedPluginsDir.listFiles().each signBundle |
| targetDir = signedFeaturesDir |
| unsignedFeaturesDir.listFiles().each signBundle |
| } |
| |
| private void addExtraPropertiesToArtifactsXml(Node artifactsXml) { |
| // modify the artifacts.xml file only when it is deployed to the eclipse.org servers |
| if (ECLIPSE_ORG_MIRROR_PATH) { |
| // add p2.mirrorsUrl to the properties section |
| // https://wiki.eclipse.org/Equinox/p2/p2.mirrorsURL |
| def mainPropertiesNode = artifactsXml.depthFirst().find { |
| it.parent()?.name() == 'repository' && it.name() == 'properties' |
| } |
| new Node(mainPropertiesNode, 'property', ['name': 'p2.mirrorsURL', 'value': calculateP2MirrorsUrl(project)]) |
| |
| // add download.stats property to each installable unit |
| // https://wiki.eclipse.org/Equinox_p2_download_stats#Enabling_stats_in_your_repository |
| new Node(mainPropertiesNode, 'property', ['name': 'p2.statsURI', 'value': calculateStatsUri(project)]) |
| mainPropertiesNode.@size = mainPropertiesNode.children().size() |
| |
| // add <property name="download.stats" value="feature-id"/> node to the features |
| artifactsXml.depthFirst().findAll { |
| it.parent()?.parent()?.name() == 'artifacts' && |
| it.parent()?.name() == 'artifact' && |
| it.parent()?.@classifier == 'org.eclipse.update.feature' && |
| it.name() == 'properties' |
| }.each { |
| new Node(it, 'property', ['name': 'download.stats', 'value': it.parent().@id]) |
| it.@size = it.children().size() |
| } |
| } |
| } |
| |
| def calculateP2MirrorsUrl(Project project) { |
| def repositoryPath = "${ECLIPSE_ORG_MIRROR_PATH}/${releaseTypeFolder(project)}/${releaseVersion()}/${project.version}" |
| "http://www.eclipse.org/downloads/download.php?file=${repositoryPath}&format=xml" |
| } |
| |
| def calculateStatsUri(Project project) { |
| "http://download.eclipse.org/stats/virgo/${releaseTypeFolder(project)}/${releaseVersion()}" |
| } |
| |
| // TODO - think about a way to trigger :org.eclipse.virgo.site:publishBase and :org.eclipse.virgo.site:publishKernelBase after site creation |
| project.tasks.addRule("Pattern: publish<ID>") { String taskName -> |
| if (taskName.startsWith("publish")) { |
| project.task(taskName, dependsOn: [ |
| ":org.eclipse.virgo.site:${CREATE_P2_REPOSITORY_TASK_NAME}", |
| ]) { |
| def product = 'undefined' |
| switch (taskName.toString() - 'publish') { |
| case 'Base': product = 'base'; break |
| case 'KernelBase': product = 'kernel-base'; break |
| case 'NanoCore': product = 'nano-core'; break |
| case 'NanoBase': product = 'nano-base'; break |
| case 'Nano': product = 'nano'; break |
| case 'NanoFull': product = 'nano-full'; break |
| } |
| group = Constants.gradleTaskGroupName |
| description = "Publishes a product to a p2 repository. The publishing uses ANY environment configurations." |
| |
| // TODO rework to something like createP2repository.outputs.repository? |
| // File repositoryDir = file(project.rootProject.tasks[":org.eclipse.virgo.site:${CREATE_P2_REPOSITORY_TASK_NAME}"].buildDir + "/repository/") |
| File repositoryDir = project.file("${project.rootProject.projectDir}/org.eclipse.virgo.site/build/repository/") |
| File productFileLocation = project.file("${project.projectDir}/publish_resources/products/${product}/${product}.product") |
| File javaProfileLocation = project.file("${project.projectDir}/src/main/dist/configuration/java-server.profile") |
| |
| inputs.dir repositoryDir |
| inputs.file productFileLocation |
| inputs.file javaProfileLocation |
| |
| doLast { publishProduct(project, repositoryDir, productFileLocation, javaProfileLocation) } |
| } |
| } |
| } |
| |
| // for testing purposes only |
| task('installProductNanoBase', dependsOn: [ |
| 'publishNanoCore', |
| 'publishNanoBase' |
| ]) { |
| |
| description = "Installs a Virgo product to a desired destination. Default profile(roaming) is VIRGOProfile, the environment cofigurations are ANY." |
| |
| def product = 'nano-base' |
| def shortProduct = 'VNB' |
| def destinationDir = file("${buildDir}/${shortProduct}/${product}") |
| def productIu = "${product}.product" |
| |
| doLast() { installProduct(project, productIu, destinationDir) } |
| } |
| |
| // for testing purposes only |
| task('installProductNano', dependsOn: [ |
| 'publishNanoCore', |
| 'publishNanoBase', |
| 'publishNano', |
| ]) { |
| |
| description = "Installs a Virgo product to a desired destination. Default profile(roaming) is VIRGOProfile, the environment cofigurations are ANY." |
| |
| def product = 'nano' |
| def shortProduct = 'VN' |
| def destinationDir = file("${buildDir}/${shortProduct}/${product}") |
| def productIu = "${product}.product" |
| |
| doLast() { installProduct(project, productIu, destinationDir) } |
| } |
| |
| // for testing purposes only |
| task('installProductNanoFull', dependsOn: [ |
| 'publishNanoCore', |
| 'publishNanoBase', |
| 'publishNano', |
| 'publishNanoFull', |
| ]) { |
| |
| description = "Installs a Virgo product to a desired destination. Default profile(roaming) is VIRGOProfile, the environment cofigurations are ANY." |
| |
| def product = 'nano-full' |
| def shortProduct = 'VNF' |
| def destinationDir = file("${buildDir}/${shortProduct}/${product}") |
| def productIu = "${product}.product" |
| |
| doLast() { installProduct(project, productIu, destinationDir) } |
| } |