Skip to content

Commit

Permalink
Rename metadoc to metabrowse
Browse files Browse the repository at this point in the history
  • Loading branch information
jonas committed Oct 24, 2018
1 parent 96de6e0 commit 9f00da7
Show file tree
Hide file tree
Showing 57 changed files with 299 additions and 299 deletions.
18 changes: 9 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

Tickets and patches are very welcome!

Metadoc follows [scalameta's contribution guidelines]. Please read them for
Metabrowse follows [scalameta's contribution guidelines]. Please read them for
information about how to create good bug reports and submit pull requests.

For ideas of how to contribute, take a look at the list of tickets with the
[<kbd>help wanted</kbd> label][help-wanted].

[help-wanted]: https://github.com/scalameta/metadoc/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
[help-wanted]: https://github.com/scalameta/metabrowse/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
[scalameta's contribution guidelines]: https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md

Remember to run
Expand All @@ -21,18 +21,18 @@ Before raising a PR to ensure the code is formatted correctly (otherwise it will

## Running locally

To run metadoc on corpus locally,
To run metabrowse on corpus locally,

```
git clone https://github.com/scalameta/metadoc.git
cd metadoc
git clone https://github.com/scalameta/metabrowse.git
cd metabrowse
git submodule init
git submodule update
npm install -g yarn
sbt
> metadoc-site # generate static site under target/metadoc.
> metabrowse-site # generate static site under target/metabrowse.
> js/fastOptJS::startWebpackDevServer # spin up local file server that listens for changes.
> ~js/fastOptJS # compiles Scala.js application, browser refreshes on edit.
open http://localhost:8080
Expand All @@ -42,12 +42,12 @@ open http://localhost:8080

```
sbt cli/assembly
java -jar ./metadoc-cli/target/scala-2.12/metadoc.jar ...
java -jar ./metabrowse-cli/target/scala-2.12/metabrowse.jar ...
```

## Upgrading the Monaco Editor

Metadoc interfaces with the Monaco Editor using a Scala.js facade based on the
Metabrowse interfaces with the Monaco Editor using a Scala.js facade based on the
`monaco.d.ts` TypeScript type definition file provided as part of the
`monaco-editor` NPM package. The facade can be generated with
[scala-js-ts-importer], however, manual merging is necessary, since the facade
Expand Down Expand Up @@ -77,7 +77,7 @@ facades:
manually editing `Monaco.scala`
- Reformat `Monaco.scala`
```
$ bin/scalafmt metadoc-js/src/main/scala/monaco/Monaco.scala
$ bin/scalafmt metabrowse-js/src/main/scala/monaco/Monaco.scala
```

At this point merge the changes to `Monaco.scala` using `git add -i` or some
Expand Down
2 changes: 1 addition & 1 deletion bin/ci-publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ if [[ "$TRAVIS_SECURE_ENV_VARS" == true && "$CI_PUBLISH" == true ]]; then
sbt ci-release sonatypeReleaseAll
elif [[ "$TRAVIS_BRANCH" == "master" ]]; then
echo "Merge, publishing snapshot to Sonatype."
sbt -Dmetadoc.snapshot=true ci-release
sbt -Dmetabrowse.snapshot=true ci-release
fi
else
echo "Skipping publish, branch=$TRAVIS_BRANCH"
Expand Down
6 changes: 3 additions & 3 deletions bin/update-monaco-facade.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ set -x

ROOT_DIR="$(git rev-parse --show-toplevel)"
TS_IMPORTER_DIR="$ROOT_DIR/project/ts-importer"
NODE_MODULES_DIR="$ROOT_DIR/metadoc-js/target/scala-2.12/scalajs-bundler/main/node_modules"
NPM_MONACO_D_TS="$ROOT_DIR/metadoc-js/target/scala-2.12/scalajs-bundler/main/node_modules/monaco-editor/monaco.d.ts"
NODE_MODULES_DIR="$ROOT_DIR/metabrowse-js/target/scala-2.12/scalajs-bundler/main/node_modules"
NPM_MONACO_D_TS="$ROOT_DIR/metabrowse-js/target/scala-2.12/scalajs-bundler/main/node_modules/monaco-editor/monaco.d.ts"
MONACO_D_TS="$TS_IMPORTER_DIR/monaco.d.ts"
MONACO_SCALA="$ROOT_DIR/metadoc-js/src/main/scala/monaco/Monaco.scala"
MONACO_SCALA="$ROOT_DIR/metabrowse-js/src/main/scala/monaco/Monaco.scala"

if [[ ! -e "$NPM_MONACO_D_TS" ]]; then
(cd "$ROOT_DIR" && sbt -batch clean js/compile:npmUpdate)
Expand Down
40 changes: 20 additions & 20 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ inThisBuild(
licenses := Seq(
"Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")
),
homepage := Some(url("https://github.com/scalameta/metadoc")),
homepage := Some(url("https://github.com/scalameta/metabrowse")),
autoAPIMappings := true,
apiURL := Some(url("https://scalameta.github.io/metadoc")),
apiURL := Some(url("https://scalameta.github.io/metabrowse")),
developers := List(
Developer(
"olafurpg",
Expand Down Expand Up @@ -65,11 +65,11 @@ lazy val example = project
)

lazy val cli = project
.in(file("metadoc-cli"))
.in(file("metabrowse-cli"))
.settings(
moduleName := "metadoc-cli",
mainClass.in(assembly) := Some("metadoc.cli.MetadocCli"),
assemblyJarName.in(assembly) := "metadoc.jar",
moduleName := "metabrowse-cli",
mainClass.in(assembly) := Some("metabrowse.cli.MetabrowseCli"),
assemblyJarName.in(assembly) := "metabrowse.jar",
scalacOptions ++= {
CrossVersion.partialVersion(scalaBinaryVersion.value) match {
case Some((2, 11)) =>
Expand All @@ -84,12 +84,12 @@ lazy val cli = project
"com.github.pathikrit" %% "better-files" % "3.6.0"
),
resourceGenerators in Compile += Def.task {
val zip = (resourceManaged in Compile).value / "metadoc-assets.zip"
val zip = (resourceManaged in Compile).value / "metabrowse-assets.zip"
val _ = (webpack in (js, Compile, fullOptJS)).value
val targetDir = (npmUpdate in (js, Compile)).value
// scalajs-bundler does not support setting a custom output path so
// explicitly include only those files that are generated by webpack.
val includes: FileFilter = "index.html" | "metadoc.*.css" | "*-bundle.js" | "favicon.png"
val includes: FileFilter = "index.html" | "metabrowse.*.css" | "*-bundle.js" | "favicon.png"
val paths: PathFinder =
(
targetDir./("assets").allPaths +++
Expand All @@ -104,10 +104,10 @@ lazy val cli = project
.dependsOn(coreJVM)

lazy val js = project
.in(file("metadoc-js"))
.in(file("metabrowse-js"))
.settings(
skip in publish := true,
moduleName := "metadoc-js",
moduleName := "metabrowse-js",
additionalNpmConfig in Compile := Map("private" -> bool(true)),
additionalNpmConfig in Test := additionalNpmConfig.in(Compile).value,
scalacOptions += "-P:scalajs:sjsDefinedByDefault",
Expand Down Expand Up @@ -150,10 +150,10 @@ lazy val js = project

lazy val core = crossProject(JVMPlatform, JSPlatform)
.crossType(CrossType.Pure)
.in(file("metadoc-core"))
.in(file("metabrowse-core"))
.jsSettings(skip in publish := true)
.settings(
moduleName := "metadoc-core",
moduleName := "metabrowse-core",
PB.targets.in(Compile) := Seq(
scalapb.gen(
flatPackage = true // Don't append filename to package
Expand All @@ -171,13 +171,13 @@ lazy val core = crossProject(JVMPlatform, JSPlatform)
lazy val coreJVM = core.jvm
lazy val coreJS = core.js

commands += Command.command("metadoc-site") { s =>
commands += Command.command("metabrowse-site") { s =>
val cliRun = Array(
"cli/run",
"--clean-target-first",
"--non-interactive",
"--target",
"target/metadoc",
"target/metabrowse",
classDirectory.in(example, Compile).value,
classDirectory.in(example, Test).value
).mkString(" ")
Expand All @@ -188,10 +188,10 @@ commands += Command.command("metadoc-site") { s =>
}

val sbtPlugin = project
.in(file("sbt-metadoc"))
.in(file("sbt-metabrowse"))
.enablePlugins(BuildInfoPlugin)
.settings(
name := "sbt-metadoc",
name := "sbt-metabrowse",
crossScalaVersions := Seq(Version.scala212),
publishLocal := publishLocal
.dependsOn(publishLocal in coreJVM)
Expand All @@ -200,7 +200,7 @@ val sbtPlugin = project
sbt.Keys.sbtPlugin := true,
// scriptedBufferLog := false,
scriptedLaunchOpts += "-Dproject.version=" + version.value,
buildInfoPackage := "metadoc.sbt",
buildInfoPackage := "metabrowse.sbt",
buildInfoKeys := Seq[BuildInfoKey](
version,
"scalametaVersion" -> Version.scalameta,
Expand All @@ -211,10 +211,10 @@ val sbtPlugin = project
.enablePlugins(ScriptedPlugin)

lazy val tests = project
.in(file("metadoc-tests"))
.in(file("metabrowse-tests"))
.settings(
skip in publish := true,
buildInfoPackage := "metadoc.tests",
buildInfoPackage := "metabrowse.tests",
compileInputs.in(Test, compile) :=
compileInputs
.in(Test, compile)
Expand All @@ -239,4 +239,4 @@ lazy val tests = project
.dependsOn(cli)
.enablePlugins(BuildInfoPlugin)

addCommandAlias("ci-test", ";compile ; metadoc-site ; test")
addCommandAlias("ci-test", ";compile ; metabrowse-site ; test")
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package metadoc.cli
package metabrowse.cli

import java.nio.ByteBuffer
import java.nio.charset.StandardCharsets
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package metadoc.cli
package metabrowse.cli

import java.io.File
import java.io.OutputStreamWriter
Expand Down Expand Up @@ -27,25 +27,25 @@ import caseapp._
import caseapp.core.Messages
import java.util.zip.GZIPOutputStream
import scalapb.json4s.JsonFormat
import metadoc.schema
import metadoc.schema.SymbolIndex
import metadoc.{schema => d}
import metabrowse.schema
import metabrowse.schema.SymbolIndex
import metabrowse.{schema => d}
import scala.meta._
import scala.meta.internal.{semanticdb => s}
import scala.meta.internal.semanticdb.Scala._
import metadoc.MetadocEnrichments._
import metabrowse.MetabrowseEnrichments._
import scala.meta.internal.io.FileIO
import scala.meta.internal.io.PathIO
import scala.meta.internal.metadoc.ScalametaInternals
import scala.meta.internal.metabrowse.ScalametaInternals
import scala.collection.JavaConverters._
import scala.meta.internal.semanticdb.Scala._

@AppName("metadoc")
@AppName("metabrowse")
@AppVersion("<version>")
@ProgName("metadoc")
case class MetadocOptions(
@ProgName("metabrowse")
case class MetabrowseOptions(
@HelpMessage(
"The output directory to generate the metadoc site. (required)"
"The output directory to generate the metabrowse site. (required)"
)
target: Option[String] = None,
@HelpMessage(
Expand All @@ -59,7 +59,7 @@ case class MetadocOptions(
)
cleanTargetFirst: Boolean = false,
@HelpMessage(
"Experimental. Emit metadoc.zip file instead of static files."
"Experimental. Emit metabrowse.zip file instead of static files."
)
zip: Boolean = false,
@HelpMessage("Disable fancy progress bar")
Expand All @@ -74,15 +74,15 @@ case class MetadocOptions(

case class Target(target: AbsolutePath, onClose: () => Unit)

class CliRunner(classpath: Seq[AbsolutePath], options: MetadocOptions) {
class CliRunner(classpath: Seq[AbsolutePath], options: MetabrowseOptions) {
private implicit val cwd: AbsolutePath =
options.cwd.fold(PathIO.workingDirectory)(AbsolutePath(_))
private val sourceroot: AbsolutePath =
options.sourceroot.fold(PathIO.workingDirectory)(AbsolutePath(_))
val Target(target, onClose) = if (options.zip) {
// For large corpora (>1M LOC) writing the symbol/ directory is the
// bottle-neck unless --zip is enabled.
val out = options.targetPath.resolve("metadoc.zip")
val out = options.targetPath.resolve("metabrowse.zip")
Files.createDirectories(out.toNIO.getParent)
val zipfs = FileSystems.newFileSystem(
URI.create(s"jar:file:${out.toURI.getPath}"), {
Expand Down Expand Up @@ -354,10 +354,10 @@ class CliRunner(classpath: Seq[AbsolutePath], options: MetadocOptions) {

def writeAssets(): Unit = {
val root = target.toNIO
val inputStream = MetadocCli.getClass.getClassLoader
.getResourceAsStream("metadoc-assets.zip")
val inputStream = MetabrowseCli.getClass.getClassLoader
.getResourceAsStream("metabrowse-assets.zip")
if (inputStream == null)
sys.error("Failed to locate metadoc-assets.zip on the classpath")
sys.error("Failed to locate metabrowse-assets.zip on the classpath")
val zipStream = new ZipInputStream(inputStream)
val bytes = new Array[Byte](8012)
Stream
Expand Down Expand Up @@ -406,12 +406,12 @@ class CliRunner(classpath: Seq[AbsolutePath], options: MetadocOptions) {
}
}

object MetadocCli extends CaseApp[MetadocOptions] {
object MetabrowseCli extends CaseApp[MetabrowseOptions] {

override val messages: Messages[MetadocOptions] =
Messages[MetadocOptions].copy(optionsDesc = "[options] classpath")
override val messages: Messages[MetabrowseOptions] =
Messages[MetabrowseOptions].copy(optionsDesc = "[options] classpath")

def run(options: MetadocOptions, remainingArgs: RemainingArgs): Unit = {
def run(options: MetabrowseOptions, remainingArgs: RemainingArgs): Unit = {

if (options.target.isEmpty) {
error("--target is required")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* which in turn was copy/pasted from (MIT licence)
* https://github.com/lihaoyi/Ammonite/blob/10854e3b8b454a74198058ba258734a17af32023/terminal/src/main/scala/ammonite/terminal/Utils.scala
*/
package metadoc.cli
package metabrowse.cli

import java.io.File
import java.io.Writer
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package scala.meta.internal.metadoc
package scala.meta.internal.metabrowse

import scala.meta.internal.semanticdb.Scala._

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
syntax = "proto3";

package metadoc.schema;
package metabrowse.schema;

message Position {
string filename = 1;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package metadoc
package metabrowse

import metadoc.{schema => d}
import metabrowse.{schema => d}
import scala.meta.internal.{semanticdb => s}
import scala.meta.internal.semanticdb.Scala._

object MetadocEnrichments {
implicit class XtensionMetadocRange(val r: d.Range) extends AnyVal {
object MetabrowseEnrichments {
implicit class XtensionMetabrowseRange(val r: d.Range) extends AnyVal {
def toPosition(uri: String): d.Position = {
d.Position(
uri,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package metabrowse

import scala.meta.internal.{semanticdb => s}

sealed abstract class MetabrowseEvent
object MetabrowseEvent {
case class SetDocument(document: s.TextDocument) extends MetabrowseEvent
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package metadoc
package metabrowse

import scala.concurrent.Future
import metadoc.{schema => d}
import metabrowse.{schema => d}
import scala.meta.{inputs => m}
import scala.meta.internal.{semanticdb => s}
import MetadocEnrichments._
import MetabrowseEnrichments._
import scala.meta.internal.semanticdb.Scala._

/** Index to lookup symbol definitions and references. */
trait MetadocSemanticdbIndex {
trait MetabrowseSemanticdbIndex {
def document: s.TextDocument
def symbol(sym: String): Future[Option[d.SymbolIndex]]
def semanticdb(sym: String): Future[Option[s.TextDocument]]
def dispatch(event: MetadocEvent): Unit
def dispatch(event: MetabrowseEvent): Unit

def definition(symbol: String): Option[d.Position] =
document.occurrences.collectFirst {
Expand Down
File renamed without changes.
Loading

0 comments on commit 9f00da7

Please sign in to comment.