Coder Social home page Coder Social logo

crossecore-generator's People

Contributors

schwichti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

crossecore-generator's Issues

Upload fat jar to Github Releases

If you could modify the CI pipeline to create a GitHub release with the jar, that would be helpful.
Then users don't have to build the project themselves.

TypeScript grammar links are no longer valid

Running the code in node.js

Hi together,

is there a way of running the generated code in node.js? I am especially interested in transpiling the code to JS (e.g. with tsc) and then use it. In the end, the code will be used in a web app. (Written in Kotlin, transpiled to JS)

[Typescript] Generated value setter is recursive

I had this issue in crossecore/ecore-typescript#18 .

When setting a property, it loops and crashes with a RangeError.
I think I found the culprit too:

public basicSetRootNode(newobj:TreeNode, msgs:NotificationChain):NotificationChain {
  let oldobj = this.rootNode;
  this.rootNode = newobj;

That last line is probably setting the wrong thing. I think it should set this._rootNode. Because as is, it triggers the set rootNode again, which is what triggered the basicSetRootNode.

Generate interdependent models

I have this 2 Ecore models:

Util.ecore
<?xml version="1.0" encoding="UTF-8"?> <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="util" nsURI="http://test/util" nsPrefix="util"> <eClassifiers xsi:type="ecore:EClass" name="ObjectDef" eSuperTypes="Ecore.ecore#//EModelElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//ObjectDef"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstname" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastname" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eClassifiers> </ecore:EPackage>

Vehicle.ecore
<?xml version="1.0" encoding="UTF-8"?> <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="vehicle" nsURI="http://test/vehicle" nsPrefix="vehicle"> <eClassifiers xsi:type="ecore:EClass" name="Car" eSuperTypes="Util.ecore#//ObjectDef"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="brand" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="ecore:EClass Util.ecore#//Person"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Bike" eSuperTypes="Util.ecore#//ObjectDef"/> </ecore:EPackage>

Problem:

I want to generate the typescript classes for the "Util.ecore" model in a "util" directory and for the "Vehicle.ecore" model in a "vehicle" directory.
When I generate the Vehicle.ecore model, the "..Impl" and "..Base" classes for ObjectDef (Util.ecore model) are generated.
The same, if I generate the Util.ecore model. The ..Impl and ..Base classes for EModelElement (Ecore.ecore model) are generated.

Generated Typescript Factory is missing EFactory import

Description: Generated *Factory.ts is missing an import of ecore/EFactory.

Actual:
Inside MypackageFactory.ts you have the generated line:
export interface MypackageFactory extends EFactory{
but no import for the EFactory.

Expected:
The line import { EFactory } from "ecore/EFactory"; should be present in the file.

Interactively resolve legacy plugin URLs

Once the generator supports crossreferencing between EPackages (#5), it becomes relevant how to treat legacy plugin URLs. The generator does not understand plugin URL as it does not run inside Eclipse. In future version, the generator will handle it like this:

In a pre-validation phase it gets all URLs for the source ecore file it is not able to resolve.
It generates a configuration file that maps the unresolved URL to a relative or absolute file path.
The user has to complete the relative or absolute file path manually.
In any subsequent runs of the generator, it will use the configuration file.

FAILURE: Build failed with an exception.

Hello

I'm interested in using crossecore-generator. However, I'm having trouble building it.

I've done the following:

  1. git clone ....
  2. chmod +x ./gradlew
  3. /gradlew customFatJar.

This resulted in the following error:

./gradlew customFatJar --stacktrace --info --scan --debug
2022-02-19T09:50:41.190+1300 [INFO] [org.gradle.internal.nativeintegration.services.NativeServices] Initialized native services in: /home/anton/.gradle/native
2022-02-19T09:50:41.373+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Executing build 14adda87-4afb-48ce-93d6-e6b8902f9ba4 in daemon client {pid=675520}
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface br-c2137819eb5b
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /172.19.0.1
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface br-4309b48f1f9b
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /172.20.0.1
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface br-3fc5aacaffc0
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fc00:f853:ccd:e793:0:0:0:1%br-3fc5aacaffc0
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:0:0:0:1%br-3fc5aacaffc0
2022-02-19T09:50:41.378+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /172.18.0.1
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface br-3eec9450e7e8
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /172.21.0.1
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface docker0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /172.17.0.1
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface wlp4s0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2407:7000:9d47:4900:a146:8e89:958c:a72d%wlp4s0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2407:7000:9d47:4900:406:5f77:2e1b:6ad4%wlp4s0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2407:7000:9d47:4900:3b3:9bad:5fc9:2ff%wlp4s0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2407:7000:9d47:4900:a403:66b8:d02a:65c5%wlp4s0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:affd:87fa:4d24:d524%wlp4s0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2407:7000:9d47:4900:495b:84b4:a1c0:779c%wlp4s0
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /192.168.1.110
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface lo
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? true
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /0:0:0:0:0:0:0:1%lo
2022-02-19T09:50:41.380+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /127.0.0.1
2022-02-19T09:50:41.389+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-02-19T09:50:41.390+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-02-19T09:50:41.393+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-02-19T09:50:41.395+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpOutgoingConnector] Attempting to connect to [b01c78da-5992-4789-b8ad-41f50443605b port:43317, addresses:[/127.0.0.1]].
2022-02-19T09:50:41.395+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpOutgoingConnector] Trying to connect to address /127.0.0.1.
2022-02-19T09:50:41.398+1300 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpOutgoingConnector] Connected to address /127.0.0.1:43317.
2022-02-19T09:50:41.407+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Connected to daemon DaemonInfo{pid=675047, address=[b01c78da-5992-4789-b8ad-41f50443605b port:43317, addresses:[/127.0.0.1]], state=Idle, lastBusy=1645217413348, context=DefaultDaemonContext[uid=49b26167-6dce-4a0e-a061-e380772a4bbf,javaHome=/home/anton/.sdkman/candidates/java/17.0.1-tem,daemonRegistryDir=/home/anton/.gradle/daemon,pid=675047,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=NZ,-Duser.language=en,-Duser.variant]}. Dispatching request Build{id=14adda87-4afb-48ce-93d6-e6b8902f9ba4, currentDir=/home/anton/git/crossecore-generator}.
2022-02-19T09:50:41.407+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: dispatching class org.gradle.launcher.daemon.protocol.Build
2022-02-19T09:50:41.412+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Received result org.gradle.launcher.daemon.protocol.BuildStarted@35b74c5c from daemon DaemonInfo{pid=675047, address=[b01c78da-5992-4789-b8ad-41f50443605b port:43317, addresses:[/127.0.0.1]], state=Idle, lastBusy=1645217413348, context=DefaultDaemonContext[uid=49b26167-6dce-4a0e-a061-e380772a4bbf,javaHome=/home/anton/.sdkman/candidates/java/17.0.1-tem,daemonRegistryDir=/home/anton/.gradle/daemon,pid=675047,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=NZ,-Duser.language=en,-Duser.variant]} (build should be starting).
2022-02-19T09:50:41.413+1300 [INFO] [org.gradle.launcher.daemon.server.exec.LogToClient] The client will now receive all logging from the daemon (pid: 675047). The daemon log file: /home/anton/.gradle/daemon/6.1.1/daemon-675047.out.log
2022-02-19T09:50:41.413+1300 [INFO] [org.gradle.launcher.daemon.server.exec.LogAndCheckHealth] Starting 3rd build in daemon [uptime: 9 mins 51.44 secs, performance: 99%, non-heap usage: 8% of 268.4 MB]
2022-02-19T09:50:41.414+1300 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] The daemon has started executing the build.
2022-02-19T09:50:41.414+1300 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] Executing build with daemon context: DefaultDaemonContext[uid=49b26167-6dce-4a0e-a061-e380772a4bbf,javaHome=/home/anton/.sdkman/candidates/java/17.0.1-tem,daemonRegistryDir=/home/anton/.gradle/daemon,pid=675047,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=NZ,-Duser.language=en,-Duser.variant]
2022-02-19T09:50:41.415+1300 [INFO] [org.gradle.internal.work.DefaultWorkerLeaseService] Using 8 worker leases.
2022-02-19T09:50:41.416+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for md5-checksums, path /home/anton/git/crossecore-generator/.gradle/checksums/md5-checksums.bin, access org.gradle.cache.internal.DefaultCacheAccess@6a9249f9
2022-02-19T09:50:41.417+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Acquiring file lock for checksums cache (/home/anton/git/crossecore-generator/.gradle/checksums)
2022-02-19T09:50:41.417+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on checksums cache (/home/anton/git/crossecore-generator/.gradle/checksums).
2022-02-19T09:50:41.417+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on checksums cache (/home/anton/git/crossecore-generator/.gradle/checksums).
2022-02-19T09:50:41.417+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for sha1-checksums, path /home/anton/git/crossecore-generator/.gradle/checksums/sha1-checksums.bin, access org.gradle.cache.internal.DefaultCacheAccess@6a9249f9
2022-02-19T09:50:41.417+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for sha256-checksums, path /home/anton/git/crossecore-generator/.gradle/checksums/sha256-checksums.bin, access org.gradle.cache.internal.DefaultCacheAccess@6a9249f9
2022-02-19T09:50:41.417+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for sha512-checksums, path /home/anton/git/crossecore-generator/.gradle/checksums/sha512-checksums.bin, access org.gradle.cache.internal.DefaultCacheAccess@6a9249f9
2022-02-19T09:50:41.418+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for fileHashes, path /home/anton/git/crossecore-generator/.gradle/6.1.1/fileHashes/fileHashes.bin, access org.gradle.cache.internal.DefaultCacheAccess@293f662d
2022-02-19T09:50:41.418+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Acquiring file lock for file hash cache (/home/anton/git/crossecore-generator/.gradle/6.1.1/fileHashes)
2022-02-19T09:50:41.418+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on file hash cache (/home/anton/git/crossecore-generator/.gradle/6.1.1/fileHashes).
2022-02-19T09:50:41.419+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on file hash cache (/home/anton/git/crossecore-generator/.gradle/6.1.1/fileHashes).
2022-02-19T09:50:41.421+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Run build' started
2022-02-19T09:50:41.422+1300 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Worker lease root.1 started (1 worker(s) in use).
2022-02-19T09:50:41.422+1300 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on root.1
2022-02-19T09:50:41.422+1300 [INFO] [org.gradle.internal.buildevents.BuildLogger] Starting Build
2022-02-19T09:50:41.422+1300 [DEBUG] [org.gradle.internal.buildevents.BuildLogger] Gradle user home: /home/anton/.gradle
2022-02-19T09:50:41.422+1300 [DEBUG] [org.gradle.internal.buildevents.BuildLogger] Current dir: /home/anton/git/crossecore-generator
2022-02-19T09:50:41.422+1300 [DEBUG] [org.gradle.internal.buildevents.BuildLogger] Settings file: null
2022-02-19T09:50:41.422+1300 [DEBUG] [org.gradle.internal.buildevents.BuildLogger] Build file: null
2022-02-19T09:50:41.423+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Load build' started
2022-02-19T09:50:41.423+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Evaluate settings' started
2022-02-19T09:50:41.424+1300 [DEBUG] [org.gradle.initialization.DefaultGradlePropertiesLoader] Found env project properties: []
2022-02-19T09:50:41.424+1300 [DEBUG] [org.gradle.initialization.DefaultGradlePropertiesLoader] Found system project properties: []
2022-02-19T09:50:41.425+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for workingDirs, path /home/anton/git/crossecore-generator/.gradle/6.1.1/vcsMetadata-1/workingDirs.bin, access org.gradle.cache.internal.DefaultCacheAccess@508923b9
2022-02-19T09:50:41.425+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for resourceHashesCache, path /home/anton/git/crossecore-generator/.gradle/6.1.1/fileHashes/resourceHashesCache.bin, access org.gradle.cache.internal.DefaultCacheAccess@293f662d
2022-02-19T09:50:41.427+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for md-supplier, path /home/anton/.gradle/caches/6.1.1/md-supplier/md-supplier.bin, access org.gradle.cache.internal.DefaultCacheAccess@74b803e3
2022-02-19T09:50:41.427+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Acquiring file lock for cache directory md-supplier (/home/anton/.gradle/caches/6.1.1/md-supplier)
2022-02-19T09:50:41.427+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on cache directory md-supplier (/home/anton/.gradle/caches/6.1.1/md-supplier).
2022-02-19T09:50:41.427+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on cache directory md-supplier (/home/anton/.gradle/caches/6.1.1/md-supplier).
2022-02-19T09:50:41.428+1300 [DEBUG] [org.gradle.api.internal.artifacts.mvnsettings.DefaultLocalMavenRepositoryLocator] No local repository in Settings file defined. Using default path: /home/anton/.m2/repository
2022-02-19T09:50:41.428+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Creating new cache for md-rule, path /home/anton/.gradle/caches/6.1.1/md-rule/md-rule.bin, access org.gradle.cache.internal.DefaultCacheAccess@686ab448
2022-02-19T09:50:41.429+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Acquiring file lock for cache directory md-rule (/home/anton/.gradle/caches/6.1.1/md-rule)
2022-02-19T09:50:41.429+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on cache directory md-rule (/home/anton/.gradle/caches/6.1.1/md-rule).
2022-02-19T09:50:41.429+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on cache directory md-rule (/home/anton/.gradle/caches/6.1.1/md-rule).
2022-02-19T09:50:41.430+1300 [DEBUG] [org.gradle.internal.locking.LockFileReaderWriter] Lockfiles root: null
2022-02-19T09:50:41.431+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Evaluate settings'
2022-02-19T09:50:41.431+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Evaluate settings' completed
2022-02-19T09:50:41.431+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Load build'
2022-02-19T09:50:41.431+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Load build' completed
2022-02-19T09:50:41.432+1300 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Worker lease root.1 completed (0 worker(s) in use)
2022-02-19T09:50:41.432+1300 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on root.1
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Could not initialize class org.codehaus.groovy.runtime.InvokerHelper
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]  Run with --scan to get full insights.
2022-02-19T09:50:41.432+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.runtime.InvokerHelper
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.extensibility.DefaultExtraPropertiesExtension.<init>(DefaultExtraPropertiesExtension.java:29)
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.extensibility.DefaultConvention.<init>(DefaultConvention.java:49)
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.extensibility.ExtensibleDynamicObject.<init>(ExtensibleDynamicObject.java:60)
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.instantiation.generator.MixInExtensibleDynamicObject.<init>(MixInExtensibleDynamicObject.java:35)
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultSettings_Decorated.getAsDynamicObject(Unknown Source)
2022-02-19T09:50:41.433+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.SettingsFactory.createSettings(SettingsFactory.java:58)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.process(ScriptEvaluatingSettingsProcessor.java:61)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.PropertiesLoadingSettingsProcessor.process(PropertiesLoadingSettingsProcessor.java:38)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.SettingsEvaluatedCallbackFiringSettingsProcessor.process(SettingsEvaluatedCallbackFiringSettingsProcessor.java:34)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.RootBuildCacheControllerSettingsProcessor.process(RootBuildCacheControllerSettingsProcessor.java:36)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:50)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:47)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.BuildOperationSettingsProcessor.process(BuildOperationSettingsProcessor.java:47)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultSettingsLoader.findSettingsAndLoadIfAppropriate(DefaultSettingsLoader.java:102)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultSettingsLoader.findAndLoadSettings(DefaultSettingsLoader.java:45)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.SettingsAttachingSettingsLoader.findAndLoadSettings(SettingsAttachingSettingsLoader.java:35)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.composite.CommandLineIncludedBuildSettingsLoader.findAndLoadSettings(CommandLineIncludedBuildSettingsLoader.java:34)
2022-02-19T09:50:41.434+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.composite.ChildBuildRegisteringSettingsLoader.findAndLoadSettings(ChildBuildRegisteringSettingsLoader.java:52)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.composite.CompositeBuildSettingsLoader.findAndLoadSettings(CompositeBuildSettingsLoader.java:35)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultSettingsPreparer.prepareSettings(DefaultSettingsPreparer.java:36)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.BuildOperatingFiringSettingsPreparer$LoadBuild.doLoadBuild(BuildOperatingFiringSettingsPreparer.java:59)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.BuildOperatingFiringSettingsPreparer$LoadBuild.run(BuildOperatingFiringSettingsPreparer.java:54)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.BuildOperatingFiringSettingsPreparer.prepareSettings(BuildOperatingFiringSettingsPreparer.java:42)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultGradleLauncher.prepareSettings(DefaultGradleLauncher.java:197)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:141)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:130)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:110)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:60)
2022-02-19T09:50:41.435+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:57)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:85)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:78)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:78)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:57)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:51)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:45)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
2022-02-19T09:50:41.436+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:80)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:60)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:38)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
2022-02-19T09:50:41.437+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:68)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:27)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.util.Swapper.swap(Swapper.java:38)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
2022-02-19T09:50:41.438+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] 
2022-02-19T09:50:41.439+1300 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 524ms
2022-02-19T09:50:41.440+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Run build'
2022-02-19T09:50:41.440+1300 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Run build' completed
2022-02-19T09:50:41.444+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Releasing file lock for cache directory md-supplier (/home/anton/.gradle/caches/6.1.1/md-supplier)
2022-02-19T09:50:41.444+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on cache directory md-supplier (/home/anton/.gradle/caches/6.1.1/md-supplier).
2022-02-19T09:50:41.445+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Releasing file lock for cache directory md-rule (/home/anton/.gradle/caches/6.1.1/md-rule)
2022-02-19T09:50:41.445+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on cache directory md-rule (/home/anton/.gradle/caches/6.1.1/md-rule).
2022-02-19T09:50:41.445+1300 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.ResolutionResultsStoreFactory] Deleted 0 resolution results binary files in 0.0 secs
2022-02-19T09:50:41.446+1300 [DEBUG] [org.gradle.deployment.internal.DefaultDeploymentRegistry] Stopping 0 deployment handles
2022-02-19T09:50:41.446+1300 [DEBUG] [org.gradle.deployment.internal.DefaultDeploymentRegistry] Stopped deployment handles
2022-02-19T09:50:41.446+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Releasing file lock for checksums cache (/home/anton/git/crossecore-generator/.gradle/checksums)
2022-02-19T09:50:41.446+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on checksums cache (/home/anton/git/crossecore-generator/.gradle/checksums).
2022-02-19T09:50:41.447+1300 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Releasing file lock for file hash cache (/home/anton/git/crossecore-generator/.gradle/6.1.1/fileHashes)
2022-02-19T09:50:41.447+1300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on file hash cache (/home/anton/git/crossecore-generator/.gradle/6.1.1/fileHashes).
2022-02-19T09:50:41.447+1300 [DEBUG] [org.gradle.cache.internal.DefaultPersistentDirectoryStore] VCS Checkout Cache (/home/anton/git/crossecore-generator/.gradle/vcs-1) has last been fully cleaned up 0 hours ago
2022-02-19T09:50:41.447+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Cache VCS Checkout Cache (/home/anton/git/crossecore-generator/.gradle/vcs-1) was closed 0 times.
2022-02-19T09:50:41.447+1300 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Cache VCS metadata (/home/anton/git/crossecore-generator/.gradle/6.1.1/vcsMetadata-1) was closed 0 times.
2022-02-19T09:50:41.454+1300 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] The daemon has finished executing the build.
2022-02-19T09:50:41.532+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientInputForwarder] Dispatching close input message: org.gradle.launcher.daemon.protocol.CloseInput@570383a1
2022-02-19T09:50:41.532+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 18: dispatching class org.gradle.launcher.daemon.protocol.CloseInput
2022-02-19T09:50:41.532+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Received result Success[value=org.gradle.launcher.exec.BuildActionResult@5d99c6b5] from daemon DaemonInfo{pid=675047, address=[b01c78da-5992-4789-b8ad-41f50443605b port:43317, addresses:[/127.0.0.1]], state=Idle, lastBusy=1645217413348, context=DefaultDaemonContext[uid=49b26167-6dce-4a0e-a061-e380772a4bbf,javaHome=/home/anton/.sdkman/candidates/java/17.0.1-tem,daemonRegistryDir=/home/anton/.gradle/daemon,pid=675047,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=NZ,-Duser.language=en,-Duser.variant]} (build should be done).
2022-02-19T09:50:41.532+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: dispatching class org.gradle.launcher.daemon.protocol.Finished
2022-02-19T09:50:41.533+1300 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: connection stop

Are you able to help resolve this?

Attempt to upgrade gradle

I tried modifying gradle/wrapper/gradle-wrapper.properties to the following:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

And this results in a different error:

./gradlew customFatJar
Downloading https://services.gradle.org/distributions/gradle-7.4-bin.zip
...........10%...........20%...........30%...........40%...........50%...........60%...........70%...........80%...........90%...........100%

Welcome to Gradle 7.4!

Here are the highlights of this release:
 - Aggregated test and JaCoCo reports
 - Marking additional test source directories as tests in IntelliJ
 - Support for Adoptium JDKs in Java toolchains

For more details see https://docs.gradle.org/7.4/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* Where:
Build file '/home/anton/git/crossecore-generator/build.gradle' line: 99

* What went wrong:
A problem occurred evaluating root project 'crossecore-generator'.
> Could not find method compile() for arguments [{group=org.eclipse.platform, name=org.eclipse.core.runtime, version=3.20.0}] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.4/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 1m 5s

Support for nested subpackages

In its current shape, the generator supports only one root EPackage. The generator shall support multiple nested subpackages of arbitrary depths.

Hard-coded paths in the UML2.ecore

There are hard-coded paths in the UML2.ecore file

For instance, in lines 27-30:

<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType file:///C:/Users/Simon/Data/git2/crossecore/model/Ecore.ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType file:///C:/Users/Simon/Data/git2/crossecore/model/Ecore.ecore#//EJavaObject"/>
</eGenericType>

Remove lib folder

Because the OCL dependencies are unmanaged they are included as jars in the /lib folder. A better solution is the following: Clone the OCL repository, package with maven and install it in the local m2 repository. Then it can be references from the gradle build process of crossecore-generator.

Currently, when I try to package OCL dependencies, I get the following error:
Missing requirement: org.eclipse.ocl.examples.xtext.build 1.14.0.qualifier requires 'java.package; org.apache.commons.logging [1.2.0,2.0.0)' but it could not be found

Generate complete project layouts

Currently the generators emit everything into the given target directory. In future releases this behavior will change and the generator will create whole project layouts.

[Java 11] Gradle fails to execute :generateXtext due to @Generated

Does not compile on JDK 11.
I did some research, and the issue is the XText version, and XText has fixed this in a later version.
Updating to e.g. version 2.24.0 (anything above 2.17) will work.

java.lang.NoClassDefFoundError: javax/annotation/Generated
	at org.eclipse.xtext.xbase.jvmmodel.JvmModelCompleter.addAnnotations(JvmModelCompleter.java:223)
	at org.eclipse.xtext.xbase.jvmmodel.JvmModelCompleter.completeJvmGenericType(JvmModelCompleter.java:188)
	at org.eclipse.xtext.xbase.jvmmodel.JvmModelCompleter.complete(JvmModelCompleter.java:101)
	at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator$2.run(JvmModelAssociator.java:420)
	at org.eclipse.xtext.xbase.resource.BatchLinkableResource.ensureJvmMembersInitialized(BatchLinkableResource.java:231)
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractBatchTypeResolver.resolveTypes(AbstractBatchTypeResolver.java:67)
	at org.eclipse.xtext.xbase.resource.BatchLinkingService.resolveBatched(BatchLinkingService.java:71)
	at org.eclipse.xtext.xbase.resource.BatchLinkableResource.resolveLazyCrossReferences(BatchLinkableResource.java:165)
	at org.eclipse.xtext.EcoreUtil2.resolveLazyCrossReferences(EcoreUtil2.java:500)
	at org.eclipse.xtext.build.IncrementalBuilder$InternalStatefulIncrementalBuilder.lambda$launch$6(IncrementalBuilder.java:236)
	at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader.lambda$executeClustered$1(ClusteringStorageAwareResourceLoader.java:77)
	at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42)
	at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:582)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
	at java.base/java.util.AbstractCollection.toArray(AbstractCollection.java:144)
	at java.base/java.util.ArrayList.addAll(ArrayList.java:701)
	at com.google.common.collect.Iterables.addAll(Iterables.java:348)
	at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader.executeClustered(ClusteringStorageAwareResourceLoader.java:80)
	at org.eclipse.xtext.build.BuildContext.executeClustered(BuildContext.java:55)
	at org.eclipse.xtext.build.IncrementalBuilder$InternalStatefulIncrementalBuilder.launch(IncrementalBuilder.java:251)
	at org.eclipse.xtext.build.IncrementalBuilder.build(IncrementalBuilder.java:399)
	at org.eclipse.xtext.build.IncrementalBuilder.build(IncrementalBuilder.java:384)
	at org.xtext.gradle.builder.XtextGradleBuilder.doBuild(XtextGradleBuilder.java:319)
	at org.xtext.gradle.builder.XtextGradleBuilder.build(XtextGradleBuilder.java:192)
	at org.xtext.gradle.tasks.XtextGenerate.generate(XtextGenerate.java:166)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
	at org.gradle.api.internal.project.taskfactory.IncrementalTaskInputsTaskAction.doExecute(IncrementalTaskInputsTaskAction.java:47)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
	at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:568)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:553)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:536)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:276)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:265)
	at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:32)
	at java.base/java.util.Optional.map(Optional.java:265)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:32)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
	at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
	at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
	at java.base/java.util.Optional.map(Optional.java:265)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
	at java.base/java.util.Optional.orElseGet(Optional.java:369)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
	at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:192)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:184)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
	at java.base/java.lang.Thread.run(Thread.java:834)

crossecore imports don't work and compiler errors.

Hi together,

when I generate typescript code with the crossecore-generator and the CROM.ecore model (this one here) I run into several problems.

Firstly, the imports of crossecore don't seem to work since the follow the schema import {XXX} from "ecore/XXX"; but should be import {XXX} from "crossecore"; when crossecore is installed via npm.

Secondly, some imports don't seem to work. Sometimes, the generator creates code that wants to import interfaces, that are implemented within the same class. I remove those imports by hand.

Illustration of both problems: (the import of CompartmentType is not needed here, and causes compiler errors)
grafik

At last, I had one compiler error in the Crom_l1_composedPackageImpl.ts where a propertiy is referenced that does not exist.

grafik

You can reproduce all errors by executing java -jar crossecore-generator_20200523-2248.jar -L typescript -e crom_l1_composed.ecore -p ./output/ with the ecore model I referenced above.

Regards

Add an alias when EClasses with the same name are imported from different EPackages

NOT GOOD

import {MyClassBase} from "importingpackage/MyClassBase";
import {MyClassBase} from "importedpackage/MyClassBase";

GOOD

import {MyClassBase} from "importingpackage/MyClassBase";
import {MyClassBase as importedpackage$MyClassBase} from "importedpackage/MyClassBase";

I like that solution better than importing whole packages like so:

import importingpackage from "importingpackage";
import importedpackage from "importedpackage";

[Typescript] The createXXXFromString assumes valid json

Description: I am trying to deserialize xmi. One of the EDataTypes I created (ActionId) has a value "ecore:new_child".
When the code tries to create this ActionId, it runs this:

public createActionIdFromString(eDataType:EDataType, initialValue:string):string {
  return initialValue == null ? null : JSON.parse(initialValue);
}	

This assumes the initialValue (which is ecore:new_child) is valid json, and it crashes:
image

It gets there via XmiResource.addEStructuralFeatures (line 169):
var literalvalue = _this.factory.createFromString(etype, value);
then via my Factory's public createFromString(eDataType:EDataType, initialValue:string) to the snipped shown first.


It would work if my initialvalue was wrapped in quotes: "ecore:new_child".
But this EDataType was not stringified by the crossecore library, but the Eclipse IDE editor for xmi.

This is an excerpt of the xmi:

<availableActions
          id="ecore:new_child"
          name="New child"/>

Generate UML2.ecore failed

I tried:
java -jar build/libs/crossecore-generator_20200208-0324.jar -L typescript -e ./model/UML2.ecore -p ./output/

but get:
Exception in thread "main" java.lang.NullPointerException
at com.crossecore.typescript.TypeScriptTypeTranslator2.import_(TypeScriptTypeTranslator2.java:54)
at com.crossecore.typescript.TypeScriptTypeTranslator2.translateType(TypeScriptTypeTranslator2.java:264)
at com.crossecore.typescript.TypeScriptTypeTranslator2.translateType(TypeScriptTypeTranslator2.java:347)
at com.crossecore.typescript.ModelGenerator.caseEAttribute(ModelGenerator.java:568)
at com.crossecore.typescript.ModelGenerator.caseEClass(ModelGenerator.java:168)
at com.crossecore.typescript.ModelGenerator.caseEClass(ModelGenerator.java:47)
at org.eclipse.emf.ecore.util.EcoreSwitch.doSwitch(EcoreSwitch.java:106)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at com.crossecore.typescript.ModelGenerator.caseEPackage(ModelGenerator.java:87)
at com.crossecore.typescript.ModelGenerator.caseEPackage(ModelGenerator.java:47)
at org.eclipse.emf.ecore.util.EcoreSwitch.doSwitch(EcoreSwitch.java:188)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at com.crossecore.typescript.ModelGenerator.write(ModelGenerator.java:63)
at com.crossecore.CrossEcore.createTypeScript(CrossEcore.java:284)
at com.crossecore.CrossEcore.main(CrossEcore.java:162)

UML2.ecore, UML2_.ecore and UML_mod.ecore both failed.

Don't import self in recursive types

I have a type Node with a children property also of type Node.
In the generated typescript code, the Node.ts is trying to import itself with import {Node} from "mypackage/Node".
This gives error: Import declaration conflicts with local declaration of 'Node'.ts(2440).

Solution: alter the code generator to not import an interface, if that is the currently generated interface.

No notifications for eAttribute changes

I was using the typescript generator and found that notifications are generated only for EReference structural elements. The default java generator generates notifications for all structural elements. Is this not implemented or am I missing something?

"case" prefix missing in generated Switch

In generated Switch:

				case UmlPackageImpl.BEHAVIOR: {
					var theBehavior = (Behavior) theEObject;
					var result = caseBehavior(theBehavior);
					
					if (result == null) result = EModelElement(theBehavior);
					if (result == null) result = Element(theBehavior);
					if (result == null) result = NamedElement(theBehavior);
					if (result == null) result = Namespace(theBehavior);
					if (result == null) result = RedefinableElement(theBehavior);
					if (result == null) result = ParameterableElement(theBehavior);
					if (result == null) result = PackageableElement(theBehavior);
					if (result == null) result = Type(theBehavior);
					if (result == null) result = TemplateableElement(theBehavior);
					if (result == null) result = Classifier(theBehavior);
					if (result == null) result = StructuredClassifier(theBehavior);
					if (result == null) result = EncapsulatedClassifier(theBehavior);
					if (result == null) result = BehavioredClassifier(theBehavior);
					if (result == null) result = Class(theBehavior);
					
					if (result == null) result = defaultCase(theEObject);
					return result;
				}

case prefix is missing in method calls.

Issue with model containing subpackages

Hello,
I downloaded your code to test the generation of CSharp classes with an ecore model.
My model is containing a top package which contains several sub-packages ( which contains EClassifiers ).
The generator is reading only the top package and not iterating of sub package. So the generation so containing only an empty top package.
Is this a limitation or is there a workaround to have the full model parsed ?
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.