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>

Reply via email to