//import org.eclipse.osgi.*
import com.diffplug.gradle.GoomphCacheLocations
-/*
buildscript {
repositories {
- repos
+ /*
mavenCentral()
jcenter()
- }
- dependencies {
- //eclipseDeps.each { compile "p2:${it}:+" }
- //classpath 'org.eclipse.platform:org.eclipse.osgi:3.15.0'
- //compile group: 'org.eclipse.platform', name: 'org.eclipse.osgi', version: '3.15.0'
- //classpath 'biz.aQute.bnd:biz.aQute.bnd.gradle:4.4.0'
+ */
}
}
-*/
plugins {
id 'java'
id 'eclipse'
id 'com.diffplug.gradle.oomph.ide' version '3.18.1'
id 'com.diffplug.gradle.equinoxlaunch' version '3.18.1'
+ id 'com.diffplug.gradle.eclipse.mavencentral' version '3.18.1'
}
+
dependencies {
+ //compile group: 'org.osgi', name: 'org.osgi.service.component', version: '1.4.0'
+/*
+ source.addMaven('org.eclipse.platform:org.eclipse.osgi:3.14.0')
+ source.addMaven('org.eclipse.platform:org.eclipse.equinox.common:3.10.400')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.jobs:3.10.400')
+ source.addMaven('org.eclipse.platform:org.eclipse.update.configurator:3.4.300')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.runtime:3.16.0')
+ source.addMaven('org.eclipse.platform:org.eclipse.equinox.ds:1.6.0')
+ source.addMaven('javax.inject:com.springsource.javax.inject:1.0.0')
+*/
+ //compile 'com.ibm.icu:com.ibm.icu:4.4.2'
}
+def jalviewDirAbsolutePath = file(jalviewDir).getAbsolutePath()
+
repositories {
jcenter()
mavenCentral()
+ maven { url "http://maven.icm.edu.pl/artifactory/repo/" }
+ maven { url "http://maven.geomajas.org/" }
+ maven { url "https://repo.spring.io/plugins-release/" }
+ maven { url "${jalviewDirAbsolutePath}/${m2RepoDir}" }
+ mavenLocal()
flatDir {
dirs gradlePluginsDir
}
}
+
+
+
+
+
+
+/*
+p2AsMaven {
+ def requiredBundles = [
+ 'org.eclipse.core.commands',
+ 'org.eclipse.core.resources',
+ 'org.eclipse.core.runtime',
+ 'org.eclipse.ui',
+ 'org.eclipse.ui.ide',
+ 'org.eclipse.jface',
+ 'org.eclipse.swt',
+ //"org.eclipse.swt.${com.diffplug.common.swt.os.SwtPlatform.getNative()}",
+ 'org.eclipse.equinox.registry',
+ 'org.eclipse.equinox.common',
+ 'org.eclipse.osgi',
+ 'org.eclipse.core.jobs',
+ 'org.eclipse.ui.workbench',
+ 'org.eclipse.jdt.core',
+ 'org.eclipse.jdt.ui',
+ 'org.eclipse.text'
+ ]
+
+ group 'eclipse-deps', {
+ repoEclipse '4.12.0'
+ // reduce the number of plugins downloaded
+ slicingOption 'latestVersionOnly', 'true'
+ requiredBundles.each {
+ iu "${it}"
+ }
+ append true
+ }
+}
+*/
+
+/*
+eclipseMavenCentral {
+ release '4.13.0', {
+ compile 'org.eclipse.osgi'
+ compile 'org.eclipse.equinox.common'
+ compile 'org.eclipse.update.configurator'
+ compile 'org.eclipse.core.runtime'
+ compile 'org.eclipse.core.jobs'
+ compile 'org.eclipse.equinox.ds'
+ compile 'org.eclipse.osgi.services'
+ useNativesForRunningPlatform()
+ }
+}
+*/
+
+
+
+
+
+
+
+
+
+
+
+
mainClassName = launcherClass
def classes = "$jalviewDir/$classesDir"
// configure classpath/args for j8/j11 compilation
-def jalviewDirAbsolutePath = file(jalviewDir).getAbsolutePath()
def libDir
def libDistDir
def compile_source_compatibility
throw new GradleException("JAVA_VERSION=$JAVA_VERSION not currently supported by Jalview")
}
+
sourceSets {
main {
+def useIde = useGoomph.equals("true")
+def eclipseWorkspace
+task jalviewjsSetEclipseWorkspace {
+ def eclipseWsDir = useIde?goomph_workspace:jalviewjs_eclipse_workspace
+ eclipseWorkspace = file(eclipseWsDir)
+ if (!eclipseWorkspace.exists()) {
+ eclipseWorkspace = file("${buildDir}/tmp/eclipse-workspace")
+ //eclipseWorkspace.deleteOnExit()
+ } else if (useIde) {
+ GoomphCacheLocations.override_workspaces = file(eclipseWorkspace.getAbsolutePath())
+ eclipseWorkspace = oomphIde.workspaceRegistry.workspaceDir(project, file(oomphIde.ideDir))
+ }
+ println("ECLIPSE WORKSPACE: "+eclipseWorkspace.getPath())
+}
-
-
-GoomphCacheLocations.override_workspaces = file(jalviewDirAbsolutePath+"/"+goomph_workspace)
oomphIde {
repoEclipse goomph_eclipse_version
jdt {
*/
//compilerComplianceLevel( JAVA_INTEGER_VERSION )
}
+
repo "https://download.eclipse.org/releases/${goomph_eclipse_version_name}/"
feature goomph_eclipse_jee_feature, goomph_eclipse_jee_version
+
+ //iu 'org.eclipse.osgi'
+
thirdParty {
buildship {
repo goomph_repo_buildship
}
+
// CLI ARGS HERE!
}
equinoxLaunch {
- headlessAppSetup {
+ ideJalviewjsBuildSetup {
+ source.addThisProject()
+
+
+ //source.addMaven('com.ibm.icu:icu4j:65.1')
+ source.addMaven('org.eclipse.birt.runtime:com.ibm.icu:56.1.0.v201601250100')
+
+ source.addMaven('javax.inject:com.springsource.javax.inject:1.0.0')
+
+ //source.addMaven('org.apache.ant:ant:1.7.0')
+ source.addMaven('org.apache.ant:org.apache.ant:1.6.5')
+
+ source.addMaven('org.apache.felix:org.apache.felix.scr:2.1.16')
+
+ source.addMaven('org.osgi:org.osgi.framework:1.9.0')
+ source.addMaven('org.osgi:org.osgi.service.component:1.4.0')
+ source.addMaven('org.osgi:org.osgi.util.promise:1.1.1')
+ source.addMaven('org.osgi:org.osgi.util.function:1.1.0')
+
+ source.addMaven('org.eclipse.jdt:org.eclipse.jdt.apt.core:3.6.500')
+ //source.addMaven('org.eclipse.jdt:org.eclipse.jdt.apt.ui:3.6.300')
+ //source.addMaven('org.eclipse.jdt:org.eclipse.jdt.compiler.apt:1.3.700')
+ source.addMaven('org.eclipse.jdt:org.eclipse.jdt.core:3.19.0')
+
+ source.addMaven('org.eclipse.platform:org.eclipse.ant.core:3.5.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.compare.core:3.6.600')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.commands:3.9.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.contenttype:3.7.400')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.jobs:3.10.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.expressions:3.6.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.filesystem:1.7.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.resources:3.13.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.runtime:3.16.0')
+ source.addMaven('org.eclipse.platform:org.eclipse.core.variables:3.4.600')
+ source.addMaven('org.eclipse.platform:org.eclipse.equinox.common:3.10.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.equinox.ds:1.6.0')
+ source.addMaven('org.eclipse.platform:org.eclipse.equinox.app:1.4.300')
+ source.addMaven('org.eclipse.platform:org.eclipse.equinox.registry:3.8.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.equinox.preferences:3.7.500')
+ source.addMaven('org.eclipse.platform:org.eclipse.osgi:3.14.0')
+ source.addMaven('org.eclipse.platform:org.eclipse.team.core:3.8.700')
+ source.addMaven('org.eclipse.platform:org.eclipse.text:3.9.0')
+ source.addMaven('org.eclipse.platform:org.eclipse.update.configurator:3.3.400')
+ /*
+ source.addMaven('org.eclipse.platform:org.eclipse.:3.')
+ source.addMaven('org.eclipse.platform:org.eclipse.:3.')
+ source.addMaven('org.eclipse.platform:org.eclipse.:3.')
+ source.addMaven('org.eclipse.platform:org.eclipse.:3.')
+ source.addMaven('org.eclipse.platform:org.eclipse.:3.')
+ */
+
+
+
launchTask 'ideJalviewjsBuild', {
- //it.args = ["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-data", tempEclipseWorkspace, "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ]
- it.args = ["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ]
+ //it.args = ["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-data", eclipseWorkspace, "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ]
+ //it.args = ["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ]
+ it.args = ["-consoleLog", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ]
+ //it.vmArgs = ['-Dosgi.bundles=org.eclipse.core.jobs@2:start,org.eclipse.equinox.common@3:start,org.eclipse.core.runtime@2:start']
+ //it.vmArgs = ['-Dequinox.use.ds=false']
+
}
}
}
-task testIde(type: Exec) {
-}
-
+/*
task ideCopyDropins (type: Copy) {
dependsOn ideSetupP2
inputs.files inputFiles
}
+*/
+ideSetupWorkspace.dependsOn jalviewjsSetEclipseWorkspace
+ideSetupWorkspace.outputs.upToDateWhen {file(eclipseWorkspace).exists()}
+
+task ideSetup {
+ dependsOn ideSetupP2
+ dependsOn ideSetupWorkspace
+}
}
}
-def tempEclipseWorkspace
-task jalviewjsSetTempEclipseWorkspace {
- tempEclipseWorkspace = file(jalviewjs_eclipse_workspace)
- if (!tempEclipseWorkspace.exists()) {
- tempEclipseWorkspace = file("${buildDir}/tmp/eclipse-workspace")
- //tempEclipseWorkspace.deleteOnExit()
- }
- println("ECLIPSE WORKSPACE: "+tempEclipseWorkspace.getPath())
-}
task jalviewjsUnzipFiles {
dependsOn jalviewjsSitePath
def eclipseDropinsDir
def eclipseBinary
task jalviewjsEclipsePaths {
- def eclipseRoot = jalviewjs_eclipse_root
- if (eclipseRoot.startsWith("~")) {
- eclipseRoot = System.getProperty("user.home") + eclipseRoot.substring(1)
+ def eclipseRoot
+ if (useIde) {
+ eclipseRoot = oomphIde.ideDir
+ eclipseDropinsDir = eclipseRoot+"/"+com.diffplug.gradle.FileMisc.macContentsEclipse()+"/dropins"
+ eclipseBinary = eclipseRoot+"/"+com.diffplug.common.swt.os.OS.getNative().winMacLinux("", "Contents/MacOS", "")+"/eclipse"
+ } else {
+ eclipseRoot = jalviewjs_eclipse_root
+ if (eclipseRoot.startsWith("~")) {
+ eclipseRoot = System.getProperty("user.home") + eclipseRoot.substring(1)
+ }
+ if (OperatingSystem.current().isMacOsX()) {
+ eclipseRoot += "/Eclipse.app"
+ eclipseDropinsDir = eclipseRoot+"/Contents/Eclipse/dropins"
+ eclipseBinary = eclipseRoot+"/Contents/MacOS/eclipse"
+ } else if (OperatingSystem.current().isWindows()) { // check these paths!!
+ eclipseDropinsDir = eclipseRoot+"/dropins"
+ eclipseBinary = eclipseRoot+"/eclipse"
+ } else { // linux or unix
+ eclipseDropinsDir = eclipseRoot+"/dropins"
+ eclipseBinary = eclipseRoot+"/eclipse"
+ }
}
- if (OperatingSystem.current().isMacOsX()) {
- eclipseRoot += "/Eclipse.app"
- eclipseDropinsDir = eclipseRoot+"/Contents/Eclipse/dropins"
- eclipseBinary = eclipseRoot+"/Contents/MacOS/eclipse"
- } else if (OperatingSystem.current().isWindows()) { // check these paths!!
- eclipseDropinsDir = eclipseRoot+"/dropins"
- eclipseBinary = eclipseRoot+"/eclipse"
- } else { // linux or unix
- eclipseDropinsDir = eclipseRoot+"/dropins"
- eclipseBinary = eclipseRoot+"/eclipse"
- }
+ //println("ECLIPSE_ROOT=${eclipseRoot}")
+ //println("ECLIPSE_BINARY=${eclipseBinary}")
}
-task jalviewjsEclipseCopyDropins (type: Copy) {
+//task jalviewjsEclipseCopyDropins (type: Copy) {
+task jalviewjsEclipseCopyDropins {
dependsOn jalviewjsEclipsePaths
- def inputFiles = fileTree(jalviewjs_utils_dir+"/"+jalviewjs_eclipse_dropins_dir)
+ def inputFiles = fileTree(dir: jalviewjs_utils_dir+"/"+jalviewjs_eclipse_dropins_dir, include: "*.jar")
def outputDir = eclipseDropinsDir
- from inputFiles
- into outputDir
- def outputFiles = []
- rename { filename ->
- outputFiles += outputDir+"/"+filename
- null
- }
- outputs.files outputFiles
inputs.files inputFiles
+ inputFiles.each { file ->
+ outputs.file(outputDir+"/"+file.name)
+ }
+
+ doLast {
+ def outputFiles = []
+ inputFiles.each { file ->
+ copy {
+ from file
+ into outputDir
+ }
+ }
+ }
}
task jalviewjsEclipseSetup {
dependsOn jalviewjsEclipseCopyDropins
- dependsOn jalviewjsSetTempEclipseWorkspace
+ dependsOn jalviewjsSetEclipseWorkspace
}
/*
delete jalviewDir+"/"+jalviewjsSiteDir
delete jalviewDir+"/"+eclipse_bin_dir
- delete file(tempEclipseWorkspace.getAbsolutePath()+"/.metadata")
+ delete file(eclipseWorkspace.getAbsolutePath()+"/.metadata")
delete jalviewDir+"/"+jalviewjs_j2s_settings
*/
}
dependsOn jalviewjsEclipsePaths
dependsOn jalviewjsEclipseSetup
executable(eclipseBinary)
- args(["-nosplash", "--launcher.suppressErrors", "-application", "com.seeq.eclipse.importprojects.headlessimport", "-data", tempEclipseWorkspace.getPath(), "-import", jalviewDirAbsolutePath])
+ args(["-nosplash", "--launcher.suppressErrors", "-application", "com.seeq.eclipse.importprojects.headlessimport", "-data", eclipseWorkspace.getPath(), "-import", jalviewDirAbsolutePath])
- def projdir = tempEclipseWorkspace.getPath()+"/.metadata/.plugins/org.eclipse.core.resources/.projects/jalview/org.eclipse.jdt.core"
+ def projdir = eclipseWorkspace.getPath()+"/.metadata/.plugins/org.eclipse.core.resources/.projects/jalview/org.eclipse.jdt.core"
inputs.file(jalviewDir+"/.project")
outputs.dir(projdir)
outputs.upToDateWhen { file(projdir).exists() }
dependsOn jalviewjsProjectImport
dependsOn jalviewjsEclipsePaths
executable(eclipseBinary)
- args(["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-data", tempEclipseWorkspace, "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ])
+ args(["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-data", eclipseWorkspace, "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ])
def stdout
def stderr
}
*/
-task ideSetup {
- dependsOn ideSetupP2
- dependsOn ideCopyDropins
-}
-
task ideBuildSite {
dependsOn jalviewjsSitePath
dependsOn jalviewjsUnzipFiles
dependsOn jalviewjsCopyResources
dependsOn jalviewjsCopySiteResources
- dependsOn ideCopyDropins
+ dependsOn ideSetup
dependsOn ide
}
tasks.findByName('ideJalviewjsBuild').dependsOn eclipseProject
tasks.findByName('ideJalviewjsBuild').dependsOn eclipseClasspath
tasks.findByName('ideJalviewjsBuild').dependsOn eclipseJdt
+ //tasks.findByName('ideJalviewjsBuild').dependsOn ideSetup
tasks.findByName('ide').dependsOn eclipseProject
tasks.findByName('ide').dependsOn eclipseClasspath