Alright, I took the feedback from this thread and worked hard on simplifying the process of running gradle.
I pushed in some changes that remove build.sh and build.bat. Instead, I looked at how Apache Kafka does the work, and copied their approach, for both Windows and Linux. I haven’t had yet a chance to test an environment without Sodium available, to see why it fails, in case anyone is interested to take a look. Cheers, Antoine > On Nov 29, 2021, at 1:28 PM, Antoine Toulme <anto...@toulme.name> wrote: > > > >> On Nov 29, 2021, at 1:24 PM, Danno Ferrin <danno.fer...@shemnon.com >> <mailto:danno.fer...@shemnon.com>> wrote: >> >> I'm not voting, these issues preclude a +1 from me but don't raise it to >> the level of a -1/block. > OK, this is a vote thread though. Looks like a +0 to me then. >> >> If sodium is an optional dependency then why does the default build target >> fail? If there are flags that need to be flipped to make it optional it >> should be documented _somewhere_. The other build instructions are in the >> README.md so I expected it there, or at least a pointer to more involved >> build instructions. > Build should not fail if Sodium is missing. That’s probably a bug then. >> >> Build.bat/build.sh - Either windows is supported or it isn't. An >> out-of-date script that fails to build is that horrible in-between state. >> My thought is it should be up to date or deleted. If there were more >> involved build instructions this could be documented there. > It’s not failing to build - it works with the distro in CI. >> >> On Mon, Nov 29, 2021 at 2:17 PM Antoine Toulme <anto...@toulme.name> wrote: >> >>> Danno, I don’t see a vote in your email, I must be missing it, sorry. >>> >>> Sodium is an optional dependency, and there is no documentation in the >>> README per the instructions of the ASF incubator. >>> Instead, the dependency is explicitly listed in the NOTICE file assembled >>> and made available as part of the download of the distribution. >>> >>> Yes, build.bat is nothing like build.sh. I just don’t have Windows at >>> home, so I did the minimum to accommodate Windows users. Would you like to >>> file a bug with your expectations? >>> I don’t understand your comment regarding manually running the docker >>> steps in build.sh. >>> >>> FWIW - both build.sh and build.bat are used to minimally build Tuweni in >>> CI. This way, we guarantee that the distribs can build from source. >>> >>> Tuweni supports Java 11 - I didn’t try 16, worth opening a bug for it. I >>> have code towards supporting Java 17 in the works in an open pull request, >>> reviews and comments would be greatly appreciated :) >>> >>> Cheers, >>> >>> Antoine >>> >>>> On Nov 24, 2021, at 3:42 PM, Danno Ferrin <danno.fer...@shemnon.com> >>> wrote: >>>> >>>> Doesn't build on windows as documented. >>>> >>>> * Sodium dependency not documented in readme >>>> * build.bat is nothing like build.sh, the latter attempts to build via >>>> docker >>>> * manually running the docker steps in build.sh fails >>>> * Doesn't work with Java 16 (see stack trace) >>>> >>>> ``` >>>> C:\Users\shemnon\git\github.com\shemnon\incubator-tuweni>.\build.bat >>>> >>>> C:\Users\shemnon\git\github.com\shemnon\incubator-tuweni>bitsadmin >>>> /transfer myDownloadJob >>>> https://services.gradle.org/distributions/gradle-6.5.1-bin.zip >>> d:\gradle.zip >>>> >>>> BITSADMIN version 3.0 >>>> BITS administration utility. >>>> (C) Copyright Microsoft Corp. >>>> >>>> Unable to add file - 0x80070002 >>>> The system cannot find the file specified. >>>> >>>> >>>> C:\Users\shemnon\git\github.com\shemnon\incubator-tuweni>unzip >>>> d:\gradle.zip -d gradle_download >>>> 'unzip' is not recognized as an internal or external command, >>>> operable program or batch file. >>>> >>>> C:\Users\shemnon\git\github.com\shemnon\incubator-tuweni>call >>>> gradle_download/gradle-6.5.1/bin/gradle.bat setup >>>> 'gradle_download' is not recognized as an internal or external command, >>>> operable program or batch file. >>>> >>>> C:\Users\shemnon\git\github.com\shemnon\incubator-tuweni>call >>> gradlew.bat >>>> assemble >>>> Starting a Gradle Daemon, 2 incompatible and 1 stopped Daemons could not >>> be >>>> reused, use --status for details >>>> >>>>> Configure project :eth-reference-tests >>>> C:\Users\shemnon\git\github.com >>> \shemnon\incubator-tuweni\eth-reference-tests/src/test/resources/eth2.0-tests/README.md >>>> missing: please clone submodules (git submodule update --init >>> --recursive) >>>> Reference test validations will not be performed. >>>> >>>> >>>>> Task :bytes:compileJava FAILED >>>> An exception has occurred in the compiler (16.0.1). Please file a bug >>>> against the Java compiler via the Java bug reporting page ( >>>> http://bugreport.java.com) after checking the Bug Database ( >>>> http://bugs.java.com) for duplicates. Include your program, the >>> following >>>> diagnostic, and the parameters passed to the Java compiler in your >>> report. >>>> Thank you. >>>> java.lang.IllegalAccessError: class >>>> com.google.errorprone.ErrorProneJavacPlugin (in unnamed module >>> @0x7af9ff88) >>>> cannot access class com.sun.tools.javac.api.BasicJavacTask (in module >>>> jdk.compiler) because module jdk.compiler does not export >>>> com.sun.tools.javac.api to unnamed module @0x7af9ff88 >>>> at >>>> >>> com.google.errorprone.ErrorProneJavacPlugin.init(ErrorProneJavacPlugin.java:38) >>>> at >>>> >>> jdk.compiler/com.sun.tools.javac.api.BasicJavacTask.initPlugin(BasicJavacTask.java:255) >>>> at >>>> >>> jdk.compiler/com.sun.tools.javac.api.BasicJavacTask.initPlugins(BasicJavacTask.java:229) >>>> at >>>> >>> jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.prepareCompiler(JavacTaskImpl.java:204) >>>> at >>>> >>> jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:101) >>>> at >>>> >>> jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152) >>>> at >>>> >>> jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100) >>>> at >>>> >>> jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94) >>>> at >>>> >>> org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:93) >>>> at >>>> >>> org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57) >>>> at >>>> >>> org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:54) >>>> at >>>> >>> org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:39) >>>> at >>>> >>> org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerWorkAction.execute(AbstractDaemonCompiler.java:135) >>>> at >>>> >>> org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) >>>> at >>>> >>> org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:47) >>>> at >>>> >>> org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:41) >>>> at >>>> >>> org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98) >>>> at >>>> >>> org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:41) >>>> at >>>> >>> org.gradle.workers.internal.FlatClassLoaderWorker.execute(FlatClassLoaderWorker.java:32) >>>> at >>>> >>> org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:84) >>>> at >>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native >>>> Method) >>>> at >>>> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) >>>> at >>>> >>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.base/java.lang.reflect.Method.invoke(Method.java:567) >>>> at >>>> >>> org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:129) >>>> at >>>> >>> org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41) >>>> at >>>> >>> org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:126) >>>> at >>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native >>>> Method) >>>> at >>>> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) >>>> at >>>> >>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.base/java.lang.reflect.Method.invoke(Method.java:567) >>>> at >>>> >>> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) >>>> at >>>> >>> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) >>>> at >>>> >>> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) >>>> at >>>> >>> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164) >>>> at >>>> >>> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412) >>>> 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:1130) >>>> at >>>> >>> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) >>>> at >>>> >>> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) >>>> at java.base/java.lang.Thread.run(Thread.java:831) >>>> >>>> FAILURE: Build failed with an exception. >>>> >>>> * What went wrong: >>>> Execution failed for task ':bytes:compileJava'. >>>>> Compilation failed; see the compiler error output for details. >>>> >>>> * 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 >>>> >>>> BUILD FAILED in 19s >>>> 3 actionable tasks: 1 executed, 2 up-to-date >>>> >>>> C:\Users\shemnon\git\github.com\shemnon\incubator-tuweni> >>>> ``` >>>> >>>> On Tue, Nov 23, 2021 at 8:50 PM Antoine Toulme <anto...@toulme.name> >>> wrote: >>>> >>>>> +1 from me. I checked the signatures of the jars uploaded and they all >>>>> checked out. >>>>> >>>>>> On Nov 23, 2021, at 19:40, Jonny Rhea <jonathan.r...@gmail.com> wrote: >>>>>> >>>>>> +1 >>>>>> >>>>>>> On Wed, Nov 17, 2021, 12:21 AM Antoine Toulme <anto...@toulme.name> >>>>> wrote: >>>>>>> >>>>>>> We're voting on the source distributions available here: >>>>>>> >>>>> >>> https://dist.apache.org/repos/dist/dev/incubator/tuweni/2.1.0-incubating/ >>>>>>> The release tag is present here: >>>>>>> >>>>>>> >>>>> >>> https://github.com/apache/incubator-tuweni/releases/tag/v2.1.0-incubating-rc >>>>>>> >>>>>>> This release includes the following changes: >>>>>>> >>>>>>> New features: >>>>>>> * Add OpenTelemetry metrics reporting service >>>>>>> * Add synchronizer to eth client >>>>>>> * New application: Ethereum node crawler >>>>>>> * Add support for more EVM opcode: extcodehash, support Istanbul >>> opcodes >>>>>>> * New application: JSON-RPC proxy >>>>>>> >>>>>>> Fixes: >>>>>>> * Upgrade Vert.x to 4.1.2 >>>>>>> * DNS discovery resilience, allow retries and using multiple servers. >>>>>>> >>>>>>> The vote is open for at least 3 business days, ie Friday Nov 19th at >>>>> 10pm >>>>>>> PST time. >>>>>>> >>>>>>> Thank you, >>>>>>> >>>>>>> Antoine >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@tuweni.apache.org >>>>>>> For additional commands, e-mail: dev-h...@tuweni.apache.org >>>>>>> >>>>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: dev-unsubscr...@tuweni.apache.org >>>>> For additional commands, e-mail: dev-h...@tuweni.apache.org >>>>> >>>>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@tuweni.apache.org >>> For additional commands, e-mail: dev-h...@tuweni.apache.org >>> >>> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tuweni.apache.org > <mailto:dev-unsubscr...@tuweni.apache.org> > For additional commands, e-mail: dev-h...@tuweni.apache.org > <mailto:dev-h...@tuweni.apache.org>