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