A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pmd/pmd/issues/2873 below:

[core] Utility classes in pmd 7 · Issue #2873 · pmd/pmd · GitHub

Currently on master, all of the nspmd.util package was marked internal (#2060), and we have a few utility classes in nspmd.internal.util. Some of those are used in other pmd modules (IteratorUtil, StringUtil, CollectionUtil).

I think we should be strict about usage of internal API, ie, even modules in the main repo should not have access to pmd core's internal API.

I think we should have public utilities in nspmd.util, and a nspmd.util.internal for utils that are only relevant to pmd core (eg, IOUtil).

Public ones include at least:

Plus stuff like OptionalBool and DataMap. Publishing IteratorUtil also allows us to remove DesignerIteratorUtil from the designer codebase (it was intentionally copied to not depend on pmd-core's internals).

Other things should be internal (esp. FileUtil and IOUtil, which are only relevant to pmd-core).

We can also use the InternalApiUsage rule to verify that there is no internal api leak across our codebase.

Refs #995


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4