question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Re-expose or offer alternative public API for things hidden in 1.0

See original GitHub issue

sbt-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:closed
  • Created 6 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
dwijnandcommented, Oct 1, 2019

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.

1reaction
dwijnandcommented, Jul 17, 2017

@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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found