Skip to content

Conversation

@pepness
Copy link
Member

@pepness pepness commented Mar 16, 2022

Library Notes:

  • Require Java 8
  • 63 Bug fixes
  • 72 New Features
  • 64 Improvements

NetBeans Notes:

  • Remove duplicated jar and add dependency to java.lsp.server module, this is the only module that requires org.apache.commons.io
  • Since version 2.7 commons-io change it's Bundle-SymbolicName in the MANIFEST.MF from org.apache.commons.io to org.apache.commons.commons-io, this newly added hyphen breaks the Ant target commit-validation with the 2 respective GitHub Tasks Commit-validation (on macOS) and Commit-validation (on Linux). This should be fixed by adding a hyphen - to a regular expression in platform/openide.modules/Dependency.java line 180 but I could not make it work. I did add a two new tests to validate codename values with a hyphen and underscore. According to the spec this is a valid name:
    • name: alphanum *headerchar
    • headerchar: alphanum | - | _

Testing:

  • Full build done
  • Verify successful execution of libraries and licenses Ant test
  • Verify successful execution of unit tests for modules java/java.lsp.server (the one that use this library)
  • Checked the file is in {nb_all}/platform/modules/org-apache-commons-io.jar

Web Page
Release Notes
JARManifest Spec

@pepness pepness added the Upgrade Library Library (Dependency) Upgrade label Mar 16, 2022
@pepness pepness added this to the NB14 milestone Mar 16, 2022
@pepness pepness self-assigned this Mar 16, 2022
@pepness
Copy link
Member Author

pepness commented Mar 22, 2022

Since version 2.7 commons-io change it's Bundle-SymbolicName in the MANIFEST.MF from org.apache.commons.io to org.apache.commons.commons-io, this newly added hyphen breaks the Ant target commit-validation with the 2 respective GitHub Tasks Commit-validation (on macOS) and Commit-validation (on Linux). This should be fixed by adding a hyphen - to a regular expression in platform/openide.modules/Dependency.java line 180 but I could not make it work. I did add a two new tests to validate codename values with a hyphen and underscore. According to the spec this is a valid name. JARManifest Spec

@neilcsmith-net neilcsmith-net modified the milestones: NB14, NB15 Apr 20, 2022
@neilcsmith-net neilcsmith-net modified the milestones: NB15, NB16 Jul 18, 2022
@neilcsmith-net neilcsmith-net added the stale No recent activity - likely to be closed. label Oct 11, 2022
@neilcsmith-net neilcsmith-net removed this from the NB16 milestone Oct 11, 2022
@neilcsmith-net
Copy link
Member

@dbalek @matthiasblaesing any thoughts?

@matthiasblaesing
Copy link
Contributor

matthiasblaesing commented Oct 11, 2022

My gut feeling is, that it should be save to relax the naming rules for code name bases. The dash is the only character that can't be used in code name base, but the NetBeans module name. This needs further checks though.

Update - the last big change in that area is most probably this:

https://bz.apache.org/netbeans/show_bug.cgi?id=212364
https://bz.apache.org/netbeans/attachment.cgi?id=119563&action=diff

So the code-name base is already not a package anymore - further supporting my feeling

@matthiasblaesing
Copy link
Contributor

@pepness sorry for the late reply. I had a look at this and this needs a documented API change, that will need a review, we should also rename the NetBeans module (yes commons-io broke compatibilty).

This is my suggestion how to fix it: https://github.com/matthiasblaesing/netbeans/tree/pr-3794 (this should be rebased onto master and most probably squashed). Please have a look.

@mbien mbien added LSP [ci] enable Language Server Protocol tests Platform [ci] enable platform tests (platform/*) ci:all-tests [ci] enable all tests and removed stale No recent activity - likely to be closed. labels Jan 12, 2023
@mbien
Copy link
Member

mbien commented Jan 12, 2023

restarting CI with all tests enabled

@apache apache locked and limited conversation to collaborators Jan 12, 2023
@apache apache unlocked this conversation Jan 12, 2023
@mbien mbien added Platform [ci] enable platform tests (platform/*) and removed LSP [ci] enable Language Server Protocol tests Platform [ci] enable platform tests (platform/*) labels Jan 12, 2023
@mbien mbien modified the milestones: NB17, NB18 Jan 12, 2023
@mbien
Copy link
Member

mbien commented Jan 12, 2023

core.startup is failing, restarted it once already:

junit.framework.AssertionFailedError
    at org.netbeans.core.startup.ConsistencyVerifierTest.testIAE(ConsistencyVerifierTest.java:114)
    at org.netbeans.junit.NbTestCase.access$200(NbTestCase.java:77)
    at org.netbeans.junit.NbTestCase$2.doSomething(NbTestCase.java:476)
    at org.netbeans.junit.NbTestCase$1Guard.run(NbTestCase.java:402)
    at java.lang.Thread.run(Thread.java:750)

moved this to NB18. If anyone things this would be a candidate for NB17, feel free to move it back

@pepness pepness force-pushed the commons-io-2.11 branch 3 times, most recently from 50dfdc1 to 1ad4c1e Compare January 15, 2023 00:12
pepness and others added 8 commits January 17, 2023 17:46
is the only module that requires org.apache.commons.io
…I specification

The production for an osgi Bundle-Symbolic-Name is:

digit           ::= [0..9]
alpha           ::= [a..zA..Z]
alphanum        ::= alpha | digit
token           ::= ( alphanum | '_' | '-' )+
symbolic-name   ::= token ( '.' token )*

While the current definition of module name supports a wide range of
unicode symbols it currently does not:

- allow module names to start with numbers
- allow dashes in module names
@neilcsmith-net neilcsmith-net modified the milestones: NB18, NB19 Apr 18, 2023
@mbien
Copy link
Member

mbien commented Jul 10, 2023

PR has conflicts

@mbien
Copy link
Member

mbien commented Jul 13, 2023

moving to NB20

@mbien mbien modified the milestones: NB19, NB20 Jul 13, 2023
@mbien
Copy link
Member

mbien commented Sep 22, 2023

would be good to resolve the conflicts to get a fresh CI run in see below

@matthiasblaesing
Copy link
Contributor

We have now #6480, the approach @lahodaj took to fix the hyphen vs. underscore problems looks easier to me and does not involve changing the netbeans module system.

@mbien
Copy link
Member

mbien commented Oct 5, 2023

closing, since the other PR is now integrated

@mbien mbien closed this Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:all-tests [ci] enable all tests Platform [ci] enable platform tests (platform/*) Upgrade Library Library (Dependency) Upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants