Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the purpose of Packaging tag in manifest file? #685

Open
janihur opened this issue Jan 7, 2025 · 1 comment
Open

What is the purpose of Packaging tag in manifest file? #685

janihur opened this issue Jan 7, 2025 · 1 comment
Labels
documentation Improvements or additions to documentation question Further information is requested

Comments

@janihur
Copy link

janihur commented Jan 7, 2025

The documentation gives many manifest file examples with

<Packaging>module</Packaging>

but I see there no documentation about the tag?

I also noticed Packaging tag is not included in the manifest file exported with package command (IPM v0.9.1).

@isc-tleavitt isc-tleavitt added question Further information is requested documentation Improvements or additions to documentation labels Feb 27, 2025
@isc-tleavitt
Copy link
Contributor

isc-tleavitt commented Feb 27, 2025

Another highly delayed response:

One of the inspirations for IPM is Maven, which supports different forms of packaging; see e.g. https://www.baeldung.com/maven-packaging-types.

"module" packaging just means "the artifact for this package is a compressed archive of the raw source contents and should be treated as such". There was original design intent to support different forms of packaging, but we haven't really explored this ever (in a way that would actually use the Packaging tag).

Because multiple artifacts could look like a compressed archive, having this at the top level is important (in addition to / independent of the lifecycle class) to indicate how the artifact should be treated.

A package can also be packaged as a Studio Project (see https://github.com/intersystems/ipm/blob/main/src/cls/IPM/Lifecycle/StudioProject.cls), and there could be revisited intent at some point to allow packaging IRIS.DAT files for scripted deployment external to IPM.

We should add doc for all of this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants