You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by Adam Rosien <ad...@rosien.net> on 2021/05/04 21:36:39 UTC

Daffodil DAP debugger modules and repos

I've been extending John's debugger prototype to support DAP, the debug
protocol supported by VS Code and other IDEs. There's an animated gif of
what the VS Code interaction looks like, where only the current schema
element and data position are relayed, at [1].

Now that we've made these first steps, we wanted the community's advice and
opinion about where the related code should live. Here is our initial
proposal:

* The VS Code extension would live in a separate repository,
`daffodil-vscode`. This is a common pattern with other extensions, and
would allow the extension to be released independently of daffodil itself.
However, I'm not sure what "organization" this would live under; this
situation is similar to auxiliary Daffodil repos like
https://github.com/DFDLSchemas.

* The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
this code as we translate more and more of the Daffodil parsing state into
the DAP domain. There are a few new dependencies, like the java-debug
project that handles the DAP protocol, and helper code like cats and fs2
(for streaming).

That's the basics. We'd love to know if this fits or if you have some
better ideas.

.. Adam

[1] https://github.com/jw3/example-daffodil-debug/discussions/10

Re: Daffodil DAP debugger modules and repos

Posted by Steve Lawrence <sl...@apache.org>.
Looks like the repo is now active. I've pushed an empty commit so people
can now fork and and create pull requests following our usual process.

I've also created a PR that adds a LICENSE/NOTICE/asf.yml to this repo.

On 5/4/21 6:25 PM, Adam Rosien wrote:
> Thanks!
> 
> On Tue, May 4, 2021 at 3:07 PM Beckerle, Mike <mb...@owlcyberdefense.com>
> wrote:
> 
>> Grrr. I can't write to it however.
>>
>> INFRA says it may just be an hour before the permissions propagate to it.
>>
>> I hope to update this Wednesday, push a single file over there so people
>> can fork it and get started.
>>
>> I confirmed vscode is MIT license, which is Category A, as in "allowed".
>>
>>
>>
>>
>> ________________________________
>> From: Beckerle, Mike <mb...@owlcyberdefense.com>
>> Sent: Tuesday, May 4, 2021 5:46 PM
>> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
>> Subject: Re: Daffodil DAP debugger modules and repos
>>
>> Well I'd like to see this be in an Apache Daffodil repo.
>>
>> In fact, I just created one. You can find it at
>>
>> https://github.com/apache/daffodil-vscode
>>
>> The DFDLSchemas is not directly analogous, as there are other DFDL
>> implementations and numerous schemas there are created by others for use
>> with those implementations. E.g., EDIFACT, iso8586, etc. It also all
>> significantly pre-dates Apache Daffodil.
>>
>>
>>
>>
>> ________________________________
>> From: Adam Rosien <ad...@rosien.net>
>> Sent: Tuesday, May 4, 2021 5:36 PM
>> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
>> Subject: Daffodil DAP debugger modules and repos
>>
>> I've been extending John's debugger prototype to support DAP, the debug
>> protocol supported by VS Code and other IDEs. There's an animated gif of
>> what the VS Code interaction looks like, where only the current schema
>> element and data position are relayed, at [1].
>>
>> Now that we've made these first steps, we wanted the community's advice and
>> opinion about where the related code should live. Here is our initial
>> proposal:
>>
>> * The VS Code extension would live in a separate repository,
>> `daffodil-vscode`. This is a common pattern with other extensions, and
>> would allow the extension to be released independently of daffodil itself.
>> However, I'm not sure what "organization" this would live under; this
>> situation is similar to auxiliary Daffodil repos like
>> https://github.com/DFDLSchemas.
>>
>> * The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
>> main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
>> this code as we translate more and more of the Daffodil parsing state into
>> the DAP domain. There are a few new dependencies, like the java-debug
>> project that handles the DAP protocol, and helper code like cats and fs2
>> (for streaming).
>>
>> That's the basics. We'd love to know if this fits or if you have some
>> better ideas.
>>
>> .. Adam
>>
>> [1] https://github.com/jw3/example-daffodil-debug/discussions/10
>>
> 


Re: Daffodil DAP debugger modules and repos

Posted by Adam Rosien <ad...@rosien.net>.
Thanks!

On Tue, May 4, 2021 at 3:07 PM Beckerle, Mike <mb...@owlcyberdefense.com>
wrote:

> Grrr. I can't write to it however.
>
> INFRA says it may just be an hour before the permissions propagate to it.
>
> I hope to update this Wednesday, push a single file over there so people
> can fork it and get started.
>
> I confirmed vscode is MIT license, which is Category A, as in "allowed".
>
>
>
>
> ________________________________
> From: Beckerle, Mike <mb...@owlcyberdefense.com>
> Sent: Tuesday, May 4, 2021 5:46 PM
> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
> Subject: Re: Daffodil DAP debugger modules and repos
>
> Well I'd like to see this be in an Apache Daffodil repo.
>
> In fact, I just created one. You can find it at
>
> https://github.com/apache/daffodil-vscode
>
> The DFDLSchemas is not directly analogous, as there are other DFDL
> implementations and numerous schemas there are created by others for use
> with those implementations. E.g., EDIFACT, iso8586, etc. It also all
> significantly pre-dates Apache Daffodil.
>
>
>
>
> ________________________________
> From: Adam Rosien <ad...@rosien.net>
> Sent: Tuesday, May 4, 2021 5:36 PM
> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
> Subject: Daffodil DAP debugger modules and repos
>
> I've been extending John's debugger prototype to support DAP, the debug
> protocol supported by VS Code and other IDEs. There's an animated gif of
> what the VS Code interaction looks like, where only the current schema
> element and data position are relayed, at [1].
>
> Now that we've made these first steps, we wanted the community's advice and
> opinion about where the related code should live. Here is our initial
> proposal:
>
> * The VS Code extension would live in a separate repository,
> `daffodil-vscode`. This is a common pattern with other extensions, and
> would allow the extension to be released independently of daffodil itself.
> However, I'm not sure what "organization" this would live under; this
> situation is similar to auxiliary Daffodil repos like
> https://github.com/DFDLSchemas.
>
> * The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
> main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
> this code as we translate more and more of the Daffodil parsing state into
> the DAP domain. There are a few new dependencies, like the java-debug
> project that handles the DAP protocol, and helper code like cats and fs2
> (for streaming).
>
> That's the basics. We'd love to know if this fits or if you have some
> better ideas.
>
> .. Adam
>
> [1] https://github.com/jw3/example-daffodil-debug/discussions/10
>

Re: Daffodil DAP debugger modules and repos

Posted by Steve Lawrence <sl...@apache.org>.
I think a daffodil-dap module seems very reasonable. A benefit of
splitting this out is it could maybe be made an optional dependency so
it becomes easy to disable when in production if there are any
performance or security concerns with having debugging capabilities.

Regarding churn, it might makes sense to create a "daffodil-dap" branch
that this work goes on, rather than merging directly to master. We did
this with the daffodil-runtime2 work and I think it worked out pretty
well. We still need to go through the same PR process to merge changes
into the branch, but it's much more acceptable for things to be in a not
fully working state or have known issues that need to be fixed that
wouldn't normally be merged into master. And then once things reach a
somewhat stable state, we can merge into the master branch and continue
development there.

- Steve

On 5/7/21 8:25 PM, Adam Rosien wrote:
> Thanks. We don't yet have anything to commit for the extension itself, but
> would like advice for where the DAP-related Daffodil should go:
> 
>> * The Daffodil `Debugger` to DAP code *could* exist as a sub-module of
> the main Daffodil project, say, `daffodil-dap`. We expect a lot of churn
> for this code as we translate more and more of the Daffodil parsing state
> into the DAP domain. There are a few new dependencies, like the java-debug
> project that handles the DAP protocol, and helper code like cats and fs2
> (for streaming).
> 
> 
> 
> On Fri, May 7, 2021 at 5:20 PM Beckerle, Mike <mb...@owlcyberdefense.com>
> wrote:
> 
>> daffodil-vscode repo is now setup and working.
>> ________________________________
>> From: Beckerle, Mike <mb...@owlcyberdefense.com>
>> Sent: Tuesday, May 4, 2021 6:07 PM
>> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
>> Subject: Re: Daffodil DAP debugger modules and repos
>>
>> Grrr. I can't write to it however.
>>
>> INFRA says it may just be an hour before the permissions propagate to it.
>>
>> I hope to update this Wednesday, push a single file over there so people
>> can fork it and get started.
>>
>> I confirmed vscode is MIT license, which is Category A, as in "allowed".
>>
>>
>>
>>
>> ________________________________
>> From: Beckerle, Mike <mb...@owlcyberdefense.com>
>> Sent: Tuesday, May 4, 2021 5:46 PM
>> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
>> Subject: Re: Daffodil DAP debugger modules and repos
>>
>> Well I'd like to see this be in an Apache Daffodil repo.
>>
>> In fact, I just created one. You can find it at
>>
>> https://github.com/apache/daffodil-vscode
>>
>> The DFDLSchemas is not directly analogous, as there are other DFDL
>> implementations and numerous schemas there are created by others for use
>> with those implementations. E.g., EDIFACT, iso8586, etc. It also all
>> significantly pre-dates Apache Daffodil.
>>
>>
>>
>>
>> ________________________________
>> From: Adam Rosien <ad...@rosien.net>
>> Sent: Tuesday, May 4, 2021 5:36 PM
>> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
>> Subject: Daffodil DAP debugger modules and repos
>>
>> I've been extending John's debugger prototype to support DAP, the debug
>> protocol supported by VS Code and other IDEs. There's an animated gif of
>> what the VS Code interaction looks like, where only the current schema
>> element and data position are relayed, at [1].
>>
>> Now that we've made these first steps, we wanted the community's advice and
>> opinion about where the related code should live. Here is our initial
>> proposal:
>>
>> * The VS Code extension would live in a separate repository,
>> `daffodil-vscode`. This is a common pattern with other extensions, and
>> would allow the extension to be released independently of daffodil itself.
>> However, I'm not sure what "organization" this would live under; this
>> situation is similar to auxiliary Daffodil repos like
>> https://github.com/DFDLSchemas.
>>
>> * The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
>> main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
>> this code as we translate more and more of the Daffodil parsing state into
>> the DAP domain. There are a few new dependencies, like the java-debug
>> project that handles the DAP protocol, and helper code like cats and fs2
>> (for streaming).
>>
>> That's the basics. We'd love to know if this fits or if you have some
>> better ideas.
>>
>> .. Adam
>>
>> [1] https://github.com/jw3/example-daffodil-debug/discussions/10
>>
> 


Re: Daffodil DAP debugger modules and repos

Posted by Adam Rosien <ad...@rosien.net>.
Thanks. We don't yet have anything to commit for the extension itself, but
would like advice for where the DAP-related Daffodil should go:

> * The Daffodil `Debugger` to DAP code *could* exist as a sub-module of
the main Daffodil project, say, `daffodil-dap`. We expect a lot of churn
for this code as we translate more and more of the Daffodil parsing state
into the DAP domain. There are a few new dependencies, like the java-debug
project that handles the DAP protocol, and helper code like cats and fs2
(for streaming).



On Fri, May 7, 2021 at 5:20 PM Beckerle, Mike <mb...@owlcyberdefense.com>
wrote:

> daffodil-vscode repo is now setup and working.
> ________________________________
> From: Beckerle, Mike <mb...@owlcyberdefense.com>
> Sent: Tuesday, May 4, 2021 6:07 PM
> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
> Subject: Re: Daffodil DAP debugger modules and repos
>
> Grrr. I can't write to it however.
>
> INFRA says it may just be an hour before the permissions propagate to it.
>
> I hope to update this Wednesday, push a single file over there so people
> can fork it and get started.
>
> I confirmed vscode is MIT license, which is Category A, as in "allowed".
>
>
>
>
> ________________________________
> From: Beckerle, Mike <mb...@owlcyberdefense.com>
> Sent: Tuesday, May 4, 2021 5:46 PM
> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
> Subject: Re: Daffodil DAP debugger modules and repos
>
> Well I'd like to see this be in an Apache Daffodil repo.
>
> In fact, I just created one. You can find it at
>
> https://github.com/apache/daffodil-vscode
>
> The DFDLSchemas is not directly analogous, as there are other DFDL
> implementations and numerous schemas there are created by others for use
> with those implementations. E.g., EDIFACT, iso8586, etc. It also all
> significantly pre-dates Apache Daffodil.
>
>
>
>
> ________________________________
> From: Adam Rosien <ad...@rosien.net>
> Sent: Tuesday, May 4, 2021 5:36 PM
> To: dev@daffodil.apache.org <de...@daffodil.apache.org>
> Subject: Daffodil DAP debugger modules and repos
>
> I've been extending John's debugger prototype to support DAP, the debug
> protocol supported by VS Code and other IDEs. There's an animated gif of
> what the VS Code interaction looks like, where only the current schema
> element and data position are relayed, at [1].
>
> Now that we've made these first steps, we wanted the community's advice and
> opinion about where the related code should live. Here is our initial
> proposal:
>
> * The VS Code extension would live in a separate repository,
> `daffodil-vscode`. This is a common pattern with other extensions, and
> would allow the extension to be released independently of daffodil itself.
> However, I'm not sure what "organization" this would live under; this
> situation is similar to auxiliary Daffodil repos like
> https://github.com/DFDLSchemas.
>
> * The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
> main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
> this code as we translate more and more of the Daffodil parsing state into
> the DAP domain. There are a few new dependencies, like the java-debug
> project that handles the DAP protocol, and helper code like cats and fs2
> (for streaming).
>
> That's the basics. We'd love to know if this fits or if you have some
> better ideas.
>
> .. Adam
>
> [1] https://github.com/jw3/example-daffodil-debug/discussions/10
>

Re: Daffodil DAP debugger modules and repos

Posted by "Beckerle, Mike" <mb...@owlcyberdefense.com>.
daffodil-vscode repo is now setup and working.
________________________________
From: Beckerle, Mike <mb...@owlcyberdefense.com>
Sent: Tuesday, May 4, 2021 6:07 PM
To: dev@daffodil.apache.org <de...@daffodil.apache.org>
Subject: Re: Daffodil DAP debugger modules and repos

Grrr. I can't write to it however.

INFRA says it may just be an hour before the permissions propagate to it.

I hope to update this Wednesday, push a single file over there so people can fork it and get started.

I confirmed vscode is MIT license, which is Category A, as in "allowed".




________________________________
From: Beckerle, Mike <mb...@owlcyberdefense.com>
Sent: Tuesday, May 4, 2021 5:46 PM
To: dev@daffodil.apache.org <de...@daffodil.apache.org>
Subject: Re: Daffodil DAP debugger modules and repos

Well I'd like to see this be in an Apache Daffodil repo.

In fact, I just created one. You can find it at

https://github.com/apache/daffodil-vscode

The DFDLSchemas is not directly analogous, as there are other DFDL implementations and numerous schemas there are created by others for use with those implementations. E.g., EDIFACT, iso8586, etc. It also all significantly pre-dates Apache Daffodil.




________________________________
From: Adam Rosien <ad...@rosien.net>
Sent: Tuesday, May 4, 2021 5:36 PM
To: dev@daffodil.apache.org <de...@daffodil.apache.org>
Subject: Daffodil DAP debugger modules and repos

I've been extending John's debugger prototype to support DAP, the debug
protocol supported by VS Code and other IDEs. There's an animated gif of
what the VS Code interaction looks like, where only the current schema
element and data position are relayed, at [1].

Now that we've made these first steps, we wanted the community's advice and
opinion about where the related code should live. Here is our initial
proposal:

* The VS Code extension would live in a separate repository,
`daffodil-vscode`. This is a common pattern with other extensions, and
would allow the extension to be released independently of daffodil itself.
However, I'm not sure what "organization" this would live under; this
situation is similar to auxiliary Daffodil repos like
https://github.com/DFDLSchemas.

* The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
this code as we translate more and more of the Daffodil parsing state into
the DAP domain. There are a few new dependencies, like the java-debug
project that handles the DAP protocol, and helper code like cats and fs2
(for streaming).

That's the basics. We'd love to know if this fits or if you have some
better ideas.

.. Adam

[1] https://github.com/jw3/example-daffodil-debug/discussions/10

Re: Daffodil DAP debugger modules and repos

Posted by "Beckerle, Mike" <mb...@owlcyberdefense.com>.
Grrr. I can't write to it however.

INFRA says it may just be an hour before the permissions propagate to it.

I hope to update this Wednesday, push a single file over there so people can fork it and get started.

I confirmed vscode is MIT license, which is Category A, as in "allowed".




________________________________
From: Beckerle, Mike <mb...@owlcyberdefense.com>
Sent: Tuesday, May 4, 2021 5:46 PM
To: dev@daffodil.apache.org <de...@daffodil.apache.org>
Subject: Re: Daffodil DAP debugger modules and repos

Well I'd like to see this be in an Apache Daffodil repo.

In fact, I just created one. You can find it at

https://github.com/apache/daffodil-vscode

The DFDLSchemas is not directly analogous, as there are other DFDL implementations and numerous schemas there are created by others for use with those implementations. E.g., EDIFACT, iso8586, etc. It also all significantly pre-dates Apache Daffodil.




________________________________
From: Adam Rosien <ad...@rosien.net>
Sent: Tuesday, May 4, 2021 5:36 PM
To: dev@daffodil.apache.org <de...@daffodil.apache.org>
Subject: Daffodil DAP debugger modules and repos

I've been extending John's debugger prototype to support DAP, the debug
protocol supported by VS Code and other IDEs. There's an animated gif of
what the VS Code interaction looks like, where only the current schema
element and data position are relayed, at [1].

Now that we've made these first steps, we wanted the community's advice and
opinion about where the related code should live. Here is our initial
proposal:

* The VS Code extension would live in a separate repository,
`daffodil-vscode`. This is a common pattern with other extensions, and
would allow the extension to be released independently of daffodil itself.
However, I'm not sure what "organization" this would live under; this
situation is similar to auxiliary Daffodil repos like
https://github.com/DFDLSchemas.

* The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
this code as we translate more and more of the Daffodil parsing state into
the DAP domain. There are a few new dependencies, like the java-debug
project that handles the DAP protocol, and helper code like cats and fs2
(for streaming).

That's the basics. We'd love to know if this fits or if you have some
better ideas.

.. Adam

[1] https://github.com/jw3/example-daffodil-debug/discussions/10

Re: Daffodil DAP debugger modules and repos

Posted by "Beckerle, Mike" <mb...@owlcyberdefense.com>.
Well I'd like to see this be in an Apache Daffodil repo.

In fact, I just created one. You can find it at

https://github.com/apache/daffodil-vscode

The DFDLSchemas is not directly analogous, as there are other DFDL implementations and numerous schemas there are created by others for use with those implementations. E.g., EDIFACT, iso8586, etc. It also all significantly pre-dates Apache Daffodil.




________________________________
From: Adam Rosien <ad...@rosien.net>
Sent: Tuesday, May 4, 2021 5:36 PM
To: dev@daffodil.apache.org <de...@daffodil.apache.org>
Subject: Daffodil DAP debugger modules and repos

I've been extending John's debugger prototype to support DAP, the debug
protocol supported by VS Code and other IDEs. There's an animated gif of
what the VS Code interaction looks like, where only the current schema
element and data position are relayed, at [1].

Now that we've made these first steps, we wanted the community's advice and
opinion about where the related code should live. Here is our initial
proposal:

* The VS Code extension would live in a separate repository,
`daffodil-vscode`. This is a common pattern with other extensions, and
would allow the extension to be released independently of daffodil itself.
However, I'm not sure what "organization" this would live under; this
situation is similar to auxiliary Daffodil repos like
https://github.com/DFDLSchemas.

* The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the
main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for
this code as we translate more and more of the Daffodil parsing state into
the DAP domain. There are a few new dependencies, like the java-debug
project that handles the DAP protocol, and helper code like cats and fs2
(for streaming).

That's the basics. We'd love to know if this fits or if you have some
better ideas.

.. Adam

[1] https://github.com/jw3/example-daffodil-debug/discussions/10