As a non-OSX user, I can't tell you. I'll look into it tomorrow.


On Mon, Jan 3, 2022, 6:24 PM Reuven Lax <re...@google.com> wrote:

> Also xcun is installed on my machine, just not under
> Library/Developer/CommandLineTools/. Is there something about the new go
> version that's causing it to look in that directory?
>
> On Mon, Jan 3, 2022 at 6:19 PM Reuven Lax <re...@google.com> wrote:
>
>> I was running spotlessApply - which is pretty much a prerequisite for
>> submitting any code to Beam.
>>
>> On Mon, Jan 3, 2022 at 6:16 PM Robert Burke <rob...@frantil.com> wrote:
>>
>>> Xcrun is news to me. Something in the go toolchain for that command I
>>> guess. I assume you might not have xcode tools installed. Eg.
>>> https://developer.apple.com/forums/thread/673827
>>>
>>> Were you running the :sdks:go:test target directly?
>>>
>>> On Mon, Jan 3, 2022, 6:11 PM Reuven Lax <re...@google.com> wrote:
>>>
>>>> I am trying to run ./gradlew spotlessApply, and I'm getting go errors.
>>>> I've updated the go version, but I'm still getting the following error. Any
>>>> idea what I'm doing wrong?
>>>>
>>>> *> Configure project :sdks:go:test*
>>>>
>>>> System Go installation: /usr/local/go/bin/go is go version go1.16.12
>>>> darwin/amd64; Preparing to use /Users/relax/go/bin/go1.16.12
>>>>
>>>> # runtime/cgo
>>>>
>>>> xcrun: error: invalid active developer path
>>>> (/Library/Developer/CommandLineTools), missing xcrun at:
>>>> /Library/Developer/CommandLineTools/usr/bin/xcrun
>>>>
>>>>
>>>> FAILURE: Build failed with an exception.
>>>>
>>>>
>>>> * Where:
>>>>
>>>> Build file '/Users/relax/beam/sdks/go/test/build.gradle' line: 20
>>>>
>>>>
>>>> * What went wrong:
>>>>
>>>> A problem occurred evaluating project ':sdks:go:test'.
>>>>
>>>> > Could not create task ':sdks:go:test:goPrepare'.
>>>>
>>>>    > Process 'command 'sh'' finished with non-zero exit value 2
>>>>
>>>> On Thu, Dec 30, 2021 at 10:10 AM Robert Burke <rob...@frantil.com>
>>>> wrote:
>>>>
>>>>> Great graphs Luke!
>>>>>
>>>>> Related note: with this migration the project no longer uses the
>>>>> GoGradle plugin to build or test any Go source. They have been replaced
>>>>> with shell script that bootstrap to a set version of go.  This is tracked
>>>>> in BEAM-12830 [1].
>>>>>
>>>>> This touches all portable builds as the project uses small Go programs
>>>>> for portable container bootstrap.
>>>>>
>>>>> The following are the consequences of this change and known issues:
>>>>>
>>>>> * The project requires a minimum of Go 1.16 to bootstrap to arbitrary
>>>>> Go versions going forward.
>>>>>   * Presently Nightly Snapshots are broken since the shared infra
>>>>> machine is on Go 1.10. Beam tracking for this issue is at BEAM-13540 [2].
>>>>> See that for the paired ticket to Infra for upgrading.
>>>>>
>>>>> * OSX users can't currently run the Go integration tests locally, due
>>>>> to the scripts not currently building both the local host platform version
>>>>> and the container required version of pipelines.
>>>>>   * This is a small inconvenience as it only prevents using the gradle
>>>>> scripts, and not using beam by using Go directly.
>>>>>
>>>>> If there are any other issues related to the removal of GoGradle, or
>>>>> either of these limitations become urgent, please let me know so a fix can
>>>>> be expedited.
>>>>>
>>>>> Cheers,
>>>>> Robert Burke
>>>>> Beam Go Busybody
>>>>>
>>>>> 1: https://issues.apache.org/jira/browse/BEAM-12830
>>>>>
>>>>> 2: https://issues.apache.org/jira/browse/BEAM-13540
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Dec 30, 2021, 9:45 AM Luke Cwik <lc...@google.com> wrote:
>>>>>
>>>>>> The migration to gradle 7[1] happened in the past two weeks. As part
>>>>>> of that migration many plugins had to be updated or replaced if a newer
>>>>>> gradle 7 compatible version couldn't be found and dependencies were moved
>>>>>> away from the removed configurations such as "compile" and "testCompile"
>>>>>> (more on this below). If you experience issues during your development
>>>>>> process that you suspect is due to the migration, feel free to reach out.
>>>>>>
>>>>>> For the removed configurations (boxes with light gray text), the
>>>>>> gradle migration guide[2] suggested that existing usages of "compile" be
>>>>>> replaced with "implementation" and "testCompile" with 
>>>>>> "testImplementation".
>>>>>> Usages of "runtime" and "testRuntime" are more complicated since Gradle 7
>>>>>> forced the split of configurations used to declare dependencies (light
>>>>>> green) and configurations that are consumed by tasks (blue gray). A new
>>>>>> configuration called "testRuntimeMigration" was created for the purpose 
>>>>>> of
>>>>>> migrating the widely used "testRuntime" configuration. The
>>>>>> "testRuntimeConfiguration" contains the current modules test jar and
>>>>>> extends the "testRuntimeOnly" and "testImplementation" configurations
>>>>>> effectively creating something similar to the "testRuntimeClasspath" 
>>>>>> which
>>>>>> can be consumed by tasks and used to declare dependencies to other 
>>>>>> modules
>>>>>> tests. This seems to be working at the moment but open to suggestions on
>>>>>> how to re-organize this cleanly (e.g. should jar also add to
>>>>>> "testRuntimeMigration").
>>>>>>
>>>>>> For the main source set:
>>>>>> [image: image.png]
>>>>>>
>>>>>> For the test source set (forgive my paint skills):
>>>>>> [image: image.png]
>>>>>>
>>>>>>
>>>>>> 1: https://issues.apache.org/jira/browse/BEAM-13430
>>>>>> 2:
>>>>>> https://docs.gradle.org/current/userguide/upgrading_version_6.html#sec:configuration_removal
>>>>>>
>>>>>

Reply via email to