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

Pick up changes from main (0.9.x) #719

Merged
merged 72 commits into from
Jan 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
8768058
chore(ci): include `main` branch for CI
isc-shuliu Dec 16, 2024
0acd8f6
fix(ci): change ref from master to main on release
isc-shuliu Dec 16, 2024
fa8ff89
fix(ci): update path to preload Installer.cls
isc-shuliu Dec 17, 2024
8a7bb4d
feat(enable): allow mapping repo settings in addition to IPM itself
isc-shuliu Dec 17, 2024
93f0385
fix: forgot to change namespace when checking IPM globals
isc-shuliu Dec 17, 2024
fa560e0
feat: support "enable -community" to map community repo & IPM globally
isc-shuliu Dec 17, 2024
40d0645
style: reduce verbosity
isc-shuliu Dec 17, 2024
328c54d
fix: improve output of zpm error message in namespaces without IPM
isc-shuliu Dec 17, 2024
938d380
feat(unmap): support unmapping of repository settings
isc-shuliu Dec 17, 2024
93eb017
chore: update change log
isc-shuliu Dec 17, 2024
0cf51ff
chore: changelog typo fix
isc-shuliu Dec 17, 2024
5723f39
chore: update change log to reflect the compatibility of changes
isc-shuliu Dec 17, 2024
887bdd2
docs: explain v0.9.0 changes and how to keep the legacy behavior
isc-shuliu Dec 17, 2024
0afbc77
docs: improve readme explanation on IPM 0.9
isc-shuliu Dec 17, 2024
ea13ebc
docs: a few more readme tweaks
isc-tleavitt Dec 18, 2024
c1f6754
style: fix typos in readme
isc-shuliu Dec 18, 2024
bd30a19
style: fix typos in Main.cls
isc-shuliu Dec 18, 2024
1dceb54
Merge pull request #663 from intersystems/v0.9.x-feat-enable-repos
isc-tleavitt Dec 18, 2024
d11b82b
Merge branch 'main' into v0.9.x
isc-tleavitt Dec 18, 2024
4726db4
Merge pull request #668 from intersystems/v0.9.x
isc-tleavitt Dec 18, 2024
f4c2d86
auto bump version with release
bot Dec 18, 2024
3d31bfe
fix: preserve user-side changes to lang. ext. outside of comment tags
isc-shuliu Jan 3, 2025
584e29a
style: remove dead code when updating lang. ext.
isc-shuliu Jan 3, 2025
efa731e
Merge branch 'main' into v0.9.x-fix-lang-ext-upgrade
isc-shuliu Jan 3, 2025
10eef95
test: add test cases for updating lang. ext. with custom code
isc-shuliu Jan 3, 2025
da19028
chore: update change log
isc-shuliu Jan 3, 2025
95d5763
chore: update change log
isc-shuliu Jan 3, 2025
d656438
test: improve comparison of 2 multidim arrays
isc-shuliu Jan 3, 2025
7afab1d
fix: always export static files if existent
isc-shuliu Jan 6, 2025
94ecc83
chore: update changelog
isc-shuliu Jan 6, 2025
f8a4709
fix: convert namespaces to uppercase for `enable` and `unmap`
isc-shuliu Jan 6, 2025
e29c5eb
Merge pull request #681 from intersystems/v0.9.x-map-repos-ns-casing
isc-shuliu Jan 6, 2025
b23be95
Merge branch 'main' into v0.9.x-fix-lang-ext-upgrade
isc-shuliu Jan 6, 2025
ca04bd8
Merge branch 'main' into v0.9.x-fix-export-static-files
isc-shuliu Jan 6, 2025
72a8ade
Merge pull request #680 from intersystems/v0.9.x-fix-export-static-files
isc-shuliu Jan 6, 2025
17d7929
Merge branch 'main' into v0.9.x-fix-lang-ext-upgrade
isc-shuliu Jan 6, 2025
dce50ae
fix: fix small typo when outputing mapping info
isc-shuliu Jan 6, 2025
dc47672
fix: allow specifying remote instead of using publish server on `enable`
isc-shuliu Jan 6, 2025
511d1b9
fix: test existence of <iris-root>/lib/ipm before running file query
isc-shuliu Jan 6, 2025
b2d7f7a
refactor: use macros to get table name of class
isc-shuliu Jan 6, 2025
6f3bde3
Merge branch 'main' into v0.9.x-fix-enable-download-ipm
isc-shuliu Jan 6, 2025
3683bd0
chore: update changelog
isc-shuliu Jan 6, 2025
6e8e96a
feat: export changelog in addition to readme, license, requirements.txt
isc-shuliu Jan 6, 2025
760608d
style: fix indentation using spaces
isc-shuliu Jan 6, 2025
4ebd3d8
Merge pull request #683 from intersystems/v0.9.x-feat-export-change-log
isc-shuliu Jan 6, 2025
e780e02
Merge pull request #682 from intersystems/v0.9.x-fix-enable-download-ipm
isc-tleavitt Jan 6, 2025
6bea241
Merge branch 'main' into v0.9.x-fix-lang-ext-upgrade
isc-tleavitt Jan 6, 2025
983bf03
Merge pull request #678 from intersystems/v0.9.x-fix-lang-ext-upgrade
isc-tleavitt Jan 6, 2025
9b3fbe2
fix: improve banner display in interactive zpm shell
isc-shuliu Jan 6, 2025
544ad61
chore: add change log entry
isc-shuliu Jan 7, 2025
4940f08
ci: add a CI to check for changelog on PR (adapted from v0.7.x branch)
isc-shuliu Jan 7, 2025
679d895
Merge pull request #687 from intersystems/main-ci-changelog-check
isc-shuliu Jan 7, 2025
721aa18
ci: debug changelog check with rev-parse
isc-shuliu Jan 7, 2025
b351f23
ci: more debugging
isc-shuliu Jan 7, 2025
7364bdf
ci: more debugging
isc-shuliu Jan 7, 2025
4093aa3
ci: even more debugging
isc-shuliu Jan 7, 2025
0a0fd7e
debug
isc-shuliu Jan 7, 2025
efcbd7c
ci: fetch all branches and tags during checkout
isc-shuliu Jan 7, 2025
d596056
ci: remove debugging code
isc-shuliu Jan 7, 2025
f18a6ca
ci: improve error output when CHANGELOG didn't change
isc-shuliu Jan 7, 2025
24dbd1b
style: typo fix
isc-shuliu Jan 7, 2025
7cb4105
Merge pull request #690 from intersystems/main-ci-changelog-check
isc-shuliu Jan 7, 2025
ea5e31b
Merge pull request #684 from intersystems/v0.9.x-fix-banner
isc-shuliu Jan 8, 2025
f5329b1
fix(ci): download legacy artifact from comm. registry instead of github
isc-shuliu Jan 8, 2025
c32ffa5
Merge pull request #695 from intersystems/main-ci-community-download-…
isc-shuliu Jan 8, 2025
fc6a542
refactor: return status instead of boolean on `Publish`
isc-shuliu Jan 8, 2025
75e9b5c
chore: update change log
isc-shuliu Jan 8, 2025
672dc9f
Merge pull request #697 from intersystems/main-fix-publish-doesnt-sho…
isc-shuliu Jan 13, 2025
46a3efb
fix(ci): fix a bug in ci where $system in heredoc is expanded
isc-shuliu Jan 22, 2025
4982cc6
chore: update CHANGELOG.md
isc-shuliu Jan 22, 2025
7ad4d50
Merge pull request #712 from intersystems/main-ci-fix-heredoc
isc-shuliu Jan 22, 2025
c49b4fb
Merge branch 'main' into v0.10.x-fix-bootstrap-pydeps
isc-shuliu Jan 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Deprecated
-

## [Unreleased - 0.9.2+snapshot]

### Added
- #682 When downloading IPM via the `enable` command from a remote registry, allow user to pass in the registry name (or get the only existent one), instead of the deployment enabled registry.

### Fixed
- #684 Fixed banner display issues in interactive `zpm` shell.
- #682 When enabling IPM in a namespace using local IPM caches, check for existence of `<iris-root>/lib/ipm/` beforing querying it.
- #682 Use more standard wording of mapping when enabling IPM
- #681 Convert specified namespaces to upper case for `enable` and `unmap` commands.
- #680 Always export static files (README.md, LICENSE, requirements.txt) if existent
- #678 Only update comment-flagged part of the language extension, allowing users to keep their custom code when upgrading
- #680, #683 Always export static files (README.md, LICENSE, requirements.txt, CHANGELOG.md) if existent

### Security
- #697 When publishing modules, will get an status with error message (instead of just a boolean) in case of failures.

## [0.9.1] - 2024-12-18

### Added
- #663 Added support for mapping of repository settings along with, or in addition to, IPM package and routines
- #663 Added functionality to always unmap repository settings when IPM package and routines are unmapped
- #663 Added support for unmapping of repository settings alone
- #663 Added support for `enable -community`, which resets repository settings to default and maps IPM along with repo settings globally

### Fixed
- #663 Improved error output and instructions in the language extension when "zpm" is run from a namespace without IPM

## [0.9.0] - 2024-12-16

### Added
Expand Down
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
# ObjectScript Package Manager Client - ZPM
# InterSystems Package Manager - IPM

Helps to install ObjectScript classes and routines, globals, Embedded Python modules, CSP and Frontend packages, and any files into InterSystems IRIS published on the official [ZPM Registry](https://pm.community.intersystems.com/packages/-/all) or private ZPM registry of your own.
Helps to install ObjectScript classes and routines, globals, Embedded Python modules, CSP and Frontend packages, and any files into InterSystems IRIS published on the official [Registry](https://pm.community.intersystems.com/packages/-/all) or private registry of your own.

## Documentation
* [The official documentation in the wiki](https://github.com/intersystems-community/zpm/wiki/)
* [Articles on the InterSystems Developer Community](https://community.intersystems.com/tags/objectscript-package-manager-zpm)
* [Videos on YouTube](https://www.youtube.com/playlist?list=PLKb2cBVphNQRcmxt4LtYDyLJEPfF4X4-4)

## Compatibility Note
With the release of IPM v0.9.0 on Dec 2024, IPM is no longer mapped across namespaces.
This is an intentional change so that users can have different IPM versions and configurations in different namespaces.
If you install IPM on an instance without the legacy 0.7.x version, IPM is only installed to the current namespace.

* To retain the old behavior where %IPM routines and classes mapped across all namespaces, run `zpm "enable -map -globally`. This is automatically performed when upgrading from a legacy version and can be undone by running `zpm "unmap -globally"`.
* You can optionally choose to map IPM repositories across namespaces with `zpm "enable -map -repos -namespaces NS1,NS2,NS3` or `zpm "enable -map -repos -globally`. Repositories are only mapped if %IPM classes and routines are also mapped from the same namespace.
* As a convenience command, `zpm "enable -community"` will make IPM behave essentially the same as legacy versions (v0.7.x) by setting up the the community registry and maping %IPM routines and classes, as well IPM repository settings to all namespaces.

## Installing ObjectScript Package Manager Client:

0. Use one-liner in terminal call or programmatically:
```
s r=##class(%Net.HttpRequest).%New(),r.Server="pm.community.intersystems.com",r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" d r.Get("/packages/zpm/latest/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c")
s version="latest" s r=##class(%Net.HttpRequest).%New(),r.Server="pm.community.intersystems.com",r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" d r.Get("/packages/zpm/"_version_"/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c")
```
**If you want the legacy behavior of mapping IPM classes, routines, and repository settings to all namespaces, run `zpm "enable -community"` after installing IPM. See `zpm "help enable"` for details.**
**In a CI script, for deterministic behavior, you should replace version="latest" with the IPM version you wish to use.**

OR:

Expand Down Expand Up @@ -65,4 +75,4 @@ Here is the [alternative supported folder structure.](https://openexchange.inter

## Support and Collaboration
ObjectScript Package Manager is a community supported project and thus open to collaboration via Pull Requests.
Issues and feature requests [are very welcome](https://github.com/intersystems-community/zpm/issues)
Issues and feature requests [are very welcome](https://github.com/intersystems-community/zpm/issues)
7 changes: 4 additions & 3 deletions src/cls/IPM/Lifecycle/Base.cls
Original file line number Diff line number Diff line change
Expand Up @@ -1211,9 +1211,10 @@ Method %Export(ByRef pParams, ByRef pTargetDirectory As %String, Output pDepende
}
/// Always keep these files
Set staticFiles = $ListBuild(
// "readme.md",
// "license",
// "requirements.txt",
"readme.md",
"changelog.md",
"license",
"requirements.txt",
)
Set tRes = ##class(%File).FileSetFunc(..Module.Root)
While tRes.%Next() {
Expand Down
Loading