Re-expose or offer alternative public API for things hidden in 1.0
See original GitHub issuesbt-structure uses parts of the sbt API that have been hidden in the sbt 1.0 line. This forced me to work around it by this shim that I import into otherwise compatible code to provide the definitions previously available under the sbt._
import.
It would be helpful to have these things, or an appropriate replacement available under a public API.
Pasted for reference:
object apiAdapter {
val Load = sbt.internal.Load
type Load = sbt.internal.Load.type
val SessionSettings = sbt.internal.SessionSettings
type SessionSettings = sbt.internal.SessionSettings
type GetClassifiersModule = sbt.internal.librarymanagement.GetClassifiersModule
type LoadedBuildUnit = sbt.internal.LoadedBuildUnit
type BuildStructure = sbt.internal.BuildStructure
type BuildDependencies = sbt.internal.BuildDependencies
type ScalaInstance = sbt.internal.inc.ScalaInstance
type MavenRepository = sbt.librarymanagement.MavenRepository
}
Issue Analytics
- State:
- Created 6 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
Web of Things (WoT) Discovery
The W3C Web of Things (WoT) is intended to enable interoperability across IoT platforms and application domains.
Read more >api-design-standards/api-standards.md at master
The data classification model used by the Victorian Government currently includes: UNOFFICIAL; PUBLIC; UNCLASSIFIED; FOR OFFICIAL USE ONLY; PROTECTED. All APIs ...
Read more >Lucene Change Log
API Changes (3). LUCENE-9437: Lucene's facet module's DocValuesOrdinalsReader.decode method is now public, making it easier for applications to decode facet ...
Read more >Principles of Programming Languages Version 1.0.3
In this book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages....
Read more >Release 7.27.0 The IPython Development Team
Version 1.0 additionally worked with Python 2.6 and 3.2. ... Public APIs for discovering IPython paths is moved from IPython.utils.path to ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Probably not. Lots of plugins rely on the internal APIs of structure/loading.
There’s also the issue that things are defined in “internal” but then expose as non-external in the sbt package object, which is the worst of both worlds because for sbt maintainers it looks like you can break it, but for users it looks like public API.
And I think there’s also stuff not exposed but should be to use features, like the parser/complete API.
@jastice I’m going to try to update sbt-project-graph this week, so I’ll be in the same situation, so I might be PRing a solution.