eclipse-plugin-studio/build.gradle
Rama develop · réplica de lectura del repositorio original.
sourceSets {
main {
java {
exclude 'com/twinsoft/convertigo/engine/plugins/**'
srcDir 'patch'
}
resources {
exclude 'com/twinsoft/convertigo/engine/plugins/**'
srcDir 'patch'
}
}
}
eclipse {
project {
linkedResource name: 'patch/com', type: '2', locationUri: 'PARENT-1-PROJECT_LOC/patches/src/com'
linkedResource name: 'patch/org', type: '2', locationUri: 'PARENT-1-PROJECT_LOC/patches/src/org'
linkedResource name: 'src/com/twinsoft/convertigo/engine', type: '2', locationUri: 'PARENT-1-PROJECT_LOC/engine/src/com/twinsoft/convertigo/engine'
linkedResource name: 'src/com/twinsoft/convertigo/beans', type: '2', locationUri: 'PARENT-1-PROJECT_LOC/engine/src/com/twinsoft/convertigo/beans'
// providers linked as sources only on demand (c8o.localProviders in gradle.properties)
rootProject.localProviders.each {
linkedResource name: it.path, type: '2', location: it.sources.path
}
}
classpath {
file {
withXml {
rootProject.applyLocalProvidersToClasspath(it)
def node = it.asNode()
node.classpathentry.findAll { it.@path.contains('lib/dependencies') }.each { depJar ->
depJar.@sourcepath = project(':engine').tasks.findByName('dependenciesSourceJar').archiveFile.get().asFile.path
}
def rp = node.classpathentry.find { it.@path == 'org.eclipse.pde.core.requiredPlugins' } ?: node.appendNode('classpathentry', [kind: 'con', path: 'org.eclipse.pde.core.requiredPlugins'])
def accessrules = rp.appendNode('accessrules')
accessrules.appendNode('accessrule', [kind: 'accessible', pattern: 'org/eclipse/egit/ui/**'])
accessrules.appendNode('accessrule', [kind: 'accessible', pattern: 'org/eclipse/e4/ui/**'])
accessrules.appendNode('accessrule', [kind: 'accessible', pattern: 'org/eclipse/ui/internal/genericeditor/**'])
}
}
}
}
tasks['eclipse'].dependsOn ':engine:dependenciesSourceJar'
dependencies {
toSync project(':engine')
toSync "${jxBrowserGroup}:jxbrowser:${jxBrowserVersion}"
toSync "${jxBrowserGroup}:jxbrowser-swt:${jxBrowserVersion}"
toSync 'org.apache.tomcat.embed:tomcat-embed-core:' + tomcatVersion
toSync project.property('sapjco3Version')
toSync 'com.convertigo.lib:jxbrowser-license:2026.04.27'
implementation fileTree(dir: 'lib', include: '*.jar')
}
task writeManifest(dependsOn: ['copyLicense', 'syncLib', ':engine:unzipSwaggerUI']) {
group = 'convertigo'
doLast {
def manifest = file 'META-INF/MANIFEST.MF'
java.manifest {
from sharedManifest
attributes(
'Automatic-Module-Name': 'com.twinsoft.convertigo.studio',
'Bundle-Name': 'C-EMS studio plugin',
'Bundle-SymbolicName': 'com.twinsoft.convertigo.studio; singleton:=true',
'Eclipse-BundleShape': 'dir',
'Bundle-Activator': 'com.twinsoft.convertigo.eclipse.ConvertigoPlugin',
'Bundle-ActivationPolicy': 'lazy',
'Bundle-ClassPath': 'bin/,icons/,tomcat/webapps/convertigo/WEB-INF/classes,lib/convertigo-eclipse.jar,lib/convertigo-provider-plugins.jar,' +
fileTree(dir: 'lib')
.findAll { it.name != 'convertigo-provider-plugins.jar' }
.collect { 'lib/' + it.name }
.toSorted {a, b -> a.startsWith('lib/convertigo') ? -1 : b.startsWith('lib/convertigo') ? 1 : a <=> b }
.join(','),
'Require-Bundle': ['org.eclipse.core.expressions',
'org.eclipse.core.resources',
'org.eclipse.core.runtime',
'org.eclipse.debug.ui',
'org.eclipse.e4.ui.css.core',
'org.eclipse.e4.ui.css.swt',
'org.eclipse.e4.ui.css.swt.theme',
'org.eclipse.e4.ui.model.workbench',
'org.eclipse.e4.ui.workbench',
'org.eclipse.egit.core',
'org.eclipse.egit.ui',
'org.eclipse.emf.common',
'org.eclipse.emf.ecore',
'org.eclipse.jface.text',
'org.eclipse.jgit',
'org.eclipse.search',
'org.eclipse.swt',
'org.eclipse.ui',
'org.eclipse.ui.console',
'org.eclipse.ui.editors',
'org.eclipse.ui.genericeditor',
'org.eclipse.ui.ide',
'org.eclipse.ui.navigator',
'org.eclipse.ui.navigator.resources',
'org.eclipse.ui.workbench.texteditor',
'org.eclipse.ui.views',
'org.eclipse.wst.sse.ui',
'org.eclipse.wst.sse.core'
].join(',')
)
}.writeTo(manifest)
manifest.text = manifest.text.replaceAll("Import-Package: .*\\s+", "")
}
}
task copyLicense(type: Copy, dependsOn: [':checkLicenseDate']) {
group = 'convertigo'
from('../legal/dual-license.txt') {
rename { 'license.txt' }
}
into 'src/com/twinsoft/convertigo/eclipse/wizards/setup'
}
project(':engine').afterEvaluate {
syncLib {
// the coordinates, not the toString of the dependency objects, which changes on each build
inputs.property('engine-dependency', project(':engine').configurations.runtimeClasspath.allDependencies.collect { "${it.group}:${it.name}:${it.version}" }.sort().join(','))
}
}