Yogesh Tewari created SPARK-23733:
-------------------------------------

             Summary: Broken link to java source code in Spark Scala api 
Scaladoc
                 Key: SPARK-23733
                 URL: https://issues.apache.org/jira/browse/SPARK-23733
             Project: Spark
          Issue Type: Bug
          Components: Build, Documentation, Project Infra
    Affects Versions: 2.3.0, 2.3.1
         Environment: {code:java}
~/spark/docs$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/";
SUPPORT_URL="http://help.ubuntu.com/";
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/";
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
{code}
Using spark packaged sbt.

Other versions:
{code:java}
~/spark/docs$ ruby -v 
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu] 
~/spark/docs$ gem -v 
2.5.2.1 
~/spark/docs$ jekyll -v 
jekyll 3.7.3  
~/spark/docs$ java -version 
java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
{code}
            Reporter: Yogesh Tewari


Scala source code link in Spark api scaladoc is broken.

Turns out instead of the relative path to the scala files the 
"€\{FILE_PATH}.scala" expression in 
[https://github.com/apache/spark/blob/master/project/SparkBuild.scala] is 
generating the absolute path from the developers computer. In this case, if I 
try to access the source link on 
[https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.Accumulable],
 it tries to take me to 
[/Users/sameera/dev/spark/core/src/main/scala/org/apache/spark/Accumulable.scala"
 class="external-link" 
rel="nofollow">https://github.com/apache/spark/tree/v2.3.0{color:#ff0000}/Users/sameera/dev/spark{color}/core/src/main/scala/org/apache/spark/Accumulable.scala|https://github.com/apache/spark/tree/v2.3.0%3Cfont%20color=]

where "/Users/sameera/dev/spark" portion of the URL is coming from the 
developers macos home folder.

There seems to be no change in the code responsible for generating this path 
during the build in /project/SparkBuild.scala :

Line # 252:
{code:java}
scalacOptions in Compile ++= Seq(
s"-target:jvm-${scalacJVMVersion.value}",
"-sourcepath", (baseDirectory in ThisBuild).value.getAbsolutePath // Required 
for relative source links in scaladoc
),
{code}
Line # 726
{code:java}
// Use GitHub repository for Scaladoc source links
unidocSourceBase := s"https://github.com/apache/spark/tree/v${version.value}";,

scalacOptions in (ScalaUnidoc, unidoc) ++= Seq(
"-groups", // Group similar methods together based on the @group annotation.
"-skip-packages", "org.apache.hadoop"
) ++ (
// Add links to sources when generating Scaladoc for a non-snapshot release
if (!isSnapshot.value) {
Opts.doc.sourceUrl(unidocSourceBase.value + "€{FILE_PATH}.scala")
} else {
Seq()
}
){code}
 

It seems more like a developers dev environment issue.

I was successfully able to reproduce this in my dev environment. Environment 
details attached. 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to