Thank you Maarten, delegation strategies looks promising. I'll give it a go.

Regards,
Per

On Wed, 21 May 2025 at 11:18, Maarten Boekhold <boekh...@gmx.com> wrote:

> Hi Per,
>
> Getting back to your original question: have you looked at the closure
> delegation strategy?
>
> https://groovy-lang.org/closures.html#_delegation_strategy
>
> Unless I misunderstood your problem, I think this might help you to
> 'delegate' property and method access to a MarkupBuilder instance?
>
> Maarten
>
> On May 21, 2025 11:47:39 Per Nyfelt <per.nyf...@nordnet.se> wrote:
>
>> Gradle is great and I use it for most of my projects (and I've written
>> some gradle plugins). However, Gradle is slowly moving towards a
>> declarative style and I quite like the imperative style of Ant. It's just
>> that AntBuilder is a bit too imperative as a build system. However, when
>> extending it, adding support for targets like traditional Ant, and marrying
>> it with the maven resolver ant tasks you get a nice, flexible build system.
>> I'm just doing it for fun but I think it looks quite promising so far. The
>> only major remaining thing I haven't quite figured out yet is how to handle
>> multi-module projects in a nice way.
>>
>> Best regards,
>> Per
>>
>> On Tue, 20 May 2025 at 13:36, <to...@natusoft.se> wrote:
>>
>>> Hi again Per,
>>>
>>> Have you seen Gradle ? I believe that Gradle might provide what you are
>>> trying to do. Personally I'm not a Gradle fan, but many are.
>>>
>>> Tommy Svensson
>>> On 20 May 2025 at 10:38 +0200, Per Nyfelt <per.nyf...@nordnet.se>,
>>> wrote:
>>>
>>> Thanks Tommy,
>>> My problem was in the context of a custom ant task. I found that if I
>>> let go of the idea of "arbitrary additional content" and defined what the
>>> different additional sections could be, it was quite easy to do. My
>>> solution is here:
>>> https://github.com/Alipsa/uso/blob/main/uso-tasks/src/main/groovy/se/alipsa/uso/tasks/CreatePom.groovy
>>> in case anyone is interested.
>>>
>>> Best regards,
>>> Per
>>>
>>> On Mon, 19 May 2025 at 14:01, <to...@natusoft.se> wrote:
>>>
>>>> Hello Per,
>>>>
>>>> I don't know of anything existing that does what you want. But, in
>>>> Groovy you can easily define structures like JSON or XML (which both give
>>>> you a structure but does so using different formats.
>>>>
>>>> Example: Map<String, Object> root = [ "id": "QAZ",  "name" : "Nisse",
>>>> ... ]
>>>>
>>>> This is a java.util.Map structure. Your code can then take this
>>>> Map<String, Object> and convert to JSON or XML. But I don't know of
>>>> anything existing that takes such a Map structure to XML. I would not be
>>>> entirely surprised if such exists.
>>>>
>>>> In my current project I'm using the Groovy Map shortcut [ : ] to build
>>>> structured information. In my case it will be converted to JSON and
>>>> potentially other structured formats later.  But as long as you have the
>>>> information stored in some structured way it should be relatively easy to
>>>> convert to XML. Reading both JSON and XML is by far more difficult than
>>>> producing them.
>>>>
>>>> Best Regards,
>>>>
>>>> Tommy Svensson
>>>> On 18 May 2025 at 20:38 +0200, Per Nyfelt <p...@alipsa.se>, wrote:
>>>>
>>>> Hi,
>>>>
>>>> I would like to have a user api that can handle the following:
>>>>
>>>> createXml(target: xmlFile, name: 'a test') {
>>>>
>>>>     description('test xml')
>>>>
>>>>     licenses {
>>>>         license('Apache License, Version 2.0',
>>>> 'http://www.apache.org/licenses/LICENSE-2.0')
>>>>     }
>>>>
>>>> }
>>>>
>>>> // description and licenses are arbitrary, it can be any structure that
>>>> can be converted to XML
>>>>
>>>> I want the closure to behave as if it would be statements to a
>>>> MarkupBuilder but I am unable to figure out how to do it. Can i convert
>>>> the closure to a MarkupBuilder or process it with a MarkupBuilder
>>>> somehow? Any ideas?
>>>>
>>>> Best regards
>>>>
>>>> Per
>>>>
>>>>
>

Reply via email to