crossecore / crossecore-generator Goto Github PK
View Code? Open in Web Editor NEWCode generator for Java, C#, TypeScript and Swift
License: Apache License 2.0
Code generator for Java, C#, TypeScript and Swift
License: Apache License 2.0
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.
The links in the docs:
I checked the https://github.com/antlr/grammars-v4 repo, but couldn't find anything related to TypeScript.
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)
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
.
Refactor the generated typescript code (and the ecore runtime) to use this pattern: https://medium.com/visual-development/how-to-fix-nasty-circular-dependency-issues-once-and-for-all-in-javascript-typescript-a04c987cf0de.
The DependencyManager should topologically sort the dependencies and generate an index.ts file with the imports in the right order.
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>
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.
Consider the overloaded EOperation:
operation(t:string)
operation(t:int)
Actual behavior:
MyPackagePackageImpl.MYCLASS___OPERATION__T
Desired behavior:
MyPackagePackageImpl.MYCLASS___OPERATION__STRING
MyPackagePackageImpl.MYCLASS___OPERATION__NUMBER
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.
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.
Would it be possible to change the type "BigInt" for integer numbers instead of using the type "number" when generating typescript code from an Ecore metamodel?
Hello
I'm interested in using crossecore-generator. However, I'm having trouble building it.
I've done the following:
git clone ....
chmod +x ./gradlew
/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?
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
In its current shape, the generator supports only one root EPackage. The generator shall support multiple nested subpackages of arbitrary depths.
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>
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
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.
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)
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)
At last, I had one compiler error in the Crom_l1_composedPackageImpl.ts
where a propertiy is referenced that does not exist.
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
define_EMap<string,string>_DiagnosticChain_EMap<any,any>(options:Map<string, string>, diagnostics:DiagnosticChain, context:Map<any, any>): EPackage ;
method name must not contain commas or angle brackets
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";
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:
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"/>
public doSwitch(classifierID:number, theEObject:EObject):T {}
must be
protected doSwitch3(classifierID:number, theEObject:EObject):T {}
Future versions will generate an index.ts file that re-exports all classes.
Alternatively, create-index-ts can be used
TBD
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.
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.
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?
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.