I'm talking about the build scans that take you to gradle.com

For example in one of our Jenkins job
<https://ci-beam.apache.org/view/PostCommit/job/beam_PostCommit_Java/9794/>
there
is this build scan <https://gradle.com/s/m46dhiiwcieiu>. You can also get
these for builds that you do locally.

On Fri, Dec 9, 2022 at 3:05 PM Damon Douglas <damondoug...@google.com>
wrote:

> Thank you, Luke and Daniel,
>
> I wasn't aware that these tools were possible.  Luke, the build report to
> which you refer is a local HTML file produced after executing a task?  I
> see it when I fail tests or various checks.
>
> Best,
>
> Damon
>
> On Thu, Dec 8, 2022 at 8:59 AM Daniel Collins <dpcoll...@google.com>
> wrote:
>
>> We could probably add a lint that rejects the spelling `task("` pretty
>> easily that would catch most of these.
>>
>> On Thu, Dec 8, 2022 at 11:34 AM Luke Cwik via dev <dev@beam.apache.org>
>> wrote:
>>
>>> I have found the Gradle build reports very useful to enumerate
>>> deprecations and an easier thing to look at over the command line output.
>>>
>>> On Thu, Dec 8, 2022 at 8:26 AM Damon Douglas via dev <
>>> dev@beam.apache.org> wrote:
>>>
>>>> Thank you, Kerry, for your kind and encouraging words!
>>>>
>>>> Kenn, I wondered as well whether there exist proactive options.  I know
>>>> that gradle will warn of soon-to-be deprecated syntax in the build.gradle
>>>> files when executing gradle tasks on the command-line.  Perhaps we can
>>>> start there.  Not to sound cliche, but with any process improvement,
>>>> awareness is the first step.
>>>>
>>>> On Mon, Dec 5, 2022 at 3:54 PM Kenneth Knowles <k...@apache.org> wrote:
>>>>
>>>>> Nice!
>>>>>
>>>>> I believe at some point in the past we made a pass to try to convert
>>>>> our stuff to this model. I wonder if we can prevent it proactively 
>>>>> somehow,
>>>>> like disabling the legacy way of creating tasks or something.
>>>>>
>>>>> Kenn
>>>>>
>>>>> On Mon, Dec 5, 2022 at 6:25 AM Kerry Donny-Clark via dev <
>>>>> dev@beam.apache.org> wrote:
>>>>>
>>>>>> Thanks Damon! I really appreciate how clear your emails are here.
>>>>>> Instead of my usual feeling of "I don't quite understand, and don't have
>>>>>> time to get context" I can read all the context in the mail.
>>>>>> This error message had confused me, so I really appreciate the
>>>>>> cleanup and explanation.
>>>>>>
>>>>>> On Fri, Dec 2, 2022, 7:28 PM Damon Douglas via dev <
>>>>>> dev@beam.apache.org> wrote:
>>>>>>
>>>>>>> Hello Everyone,
>>>>>>>
>>>>>>> *If you are new to Beam and coming from non-Java language
>>>>>>> conventions, it is likely you are new to gradle.  At the end of this 
>>>>>>> email
>>>>>>> is a list of definitions and references to help understand this email.*
>>>>>>>
>>>>>>> *Short Version (For those who know gradle)*:
>>>>>>> A pull request [1] may fix the continual error message "Error:
>>>>>>> Backend initialization required, please run "terraform init"".  The PR
>>>>>>> applies Task Configuration Avoidance [2] by applying changes to a few 
>>>>>>> tasks
>>>>>>> from tasks(String) to tasks.register(String).
>>>>>>>
>>>>>>> *Long Version (For those who are not as familiar with gradle)*:
>>>>>>>
>>>>>>> I write this not as an expert but as someone still learning.  Gradle
>>>>>>> [3] is the software we use in the Beam repository to automate many 
>>>>>>> needed
>>>>>>> tasks associated with building and testing code.  It is typically used 
>>>>>>> in
>>>>>>> Java projects but can be extended for other purposes.  We store code
>>>>>>> related to our Beam Playground [4] that also uses gradle though it is 
>>>>>>> not
>>>>>>> mainly a Java project.  The unit of work for Gradle is what is called a
>>>>>>> task.  To run a task you open a terminal and type "./gradlew
>>>>>>> nameOfMyTask".  There are two main ways to create a custom task in our
>>>>>>> build.gradle files.  One is writing task("doSomething") and the other is
>>>>>>> tasks.register("doSomethingElse").  According to [2], the 
>>>>>>> recommendation is
>>>>>>> to use the tasks.register("doSomething").  This avoids executing other 
>>>>>>> work
>>>>>>> (configuration but don't worry about it for now) until one runs the
>>>>>>> doSomething task or another task we are running depends on it.
>>>>>>>
>>>>>>> So why were we seeing this "Error: Backend initialization required"
>>>>>>> message all the time?  The reason is that tasks were configured as
>>>>>>> task("doSomething").  All I had to do was change this to
>>>>>>> tasks.register("doSomething") and it removed the message.
>>>>>>>
>>>>>>> *Definitions/References*
>>>>>>>
>>>>>>> 1. https://github.com/apache/beam/pull/24509
>>>>>>> 2.
>>>>>>> https://docs.gradle.org/current/userguide/task_configuration_avoidance.html
>>>>>>> 3. https://docs.gradle.org/current/userguide/what_is_gradle.html
>>>>>>> 4. https://play.beam.apache.org/
>>>>>>>
>>>>>>> *Suggested Learning Path To Understand This Email*
>>>>>>> 1.
>>>>>>> https://docs.gradle.org/current/samples/sample_building_java_libraries.html
>>>>>>> 2. https://docs.gradle.org/current/userguide/build_lifecycle.html
>>>>>>> 3.
>>>>>>> https://docs.gradle.org/current/userguide/tutorial_using_tasks.html
>>>>>>> 4.
>>>>>>> https://docs.gradle.org/current/userguide/task_configuration_avoidance.html
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Damon
>>>>>>>
>>>>>>>

Reply via email to