Please pardon me if this is the wrong place to raise this issue for
consideration. On other projects, I have been turned back on
StackOverflow for attempting to discuss unreleased software.
At some point down the road, I believe that users of sbt-cross will
encounter a 2-out-of-3, more generally, m-out-of-N, problem
handling source directories, settings, etc. Examples of
solutions which do not fall into combinatorial complexity
will be useful to those users.
To get the existing sbt-cross trio project working with a
main program (1), I had to create a HelloWorld.scala
in each of bar/js/src, bar/jvm/src, and bar/native/src.
The js/src/HelloWorld.scala had to be different (until
I can figure out a better way). The bar/jvm and bar/native
files were identical, which violates DRY. To keep some
sanity, I do want to use symlinks.
Flush from success at getting the sbt-cross trio example
project working (Thank you for the example!), I tried to add
test tree code. Since it is, understandably, too soon for
scala-native to support uTest, I wanted to be prepared
and get up to speed by testing scalaJS vs scalaJVM.
Is there a better place for discussion?
This left me with a situation where I needed to enter
settings common to the scalaJS & scalaJVM sub-projects,
but not the scala-native project. Someday I may
be clever enough to figure out some elegant sbt/scala
code to do this, but for now I duplicated (and the
spirits of my mentors yelled at me, for good reason).
When I set up the testing directories, I ran into
a similar problem. I had to duplicate
the tree in js/src/test to jvm/src/test. Surely
a cause for future, self-inflicted pain.
I can also foresee situations where one would want
scalaJVM & scala-native in the mix and scalaJS out.
With time, I hope to figure out some clever way of
handling these 2-out-of-3 issues without falling into
combinatorial complexity. The sbt settings issue
is probably simpler than the duplicated tree issue.
I mention instances of this issue early on for "back of the brain'
consideration because I think other developers will
run straight into them as the try to stretch from the
well explored & experienced scalaJS/scalaJVM duo
to the nova mundi of scalaJS/scalaJVM/scala-native trio.
Thank you for any suggestions, including
"Please be patient until sbt-cross matures".
Lee
- At this point, the sbt-native HelloWorld.scala is
scaffolding and/or a thought experiment. sbt-native
seems to have a problem and generate null output to stdout.
In the fullness of time that will get fixed.
Please pardon me if this is the wrong place to raise this issue for
consideration. On other projects, I have been turned back on
StackOverflow for attempting to discuss unreleased software.
At some point down the road, I believe that users of sbt-cross will
encounter a 2-out-of-3, more generally, m-out-of-N, problem
handling source directories, settings, etc. Examples of
solutions which do not fall into combinatorial complexity
will be useful to those users.
To get the existing sbt-cross trio project working with a
main program (1), I had to create a HelloWorld.scala
in each of bar/js/src, bar/jvm/src, and bar/native/src.
The js/src/HelloWorld.scala had to be different (until
I can figure out a better way). The bar/jvm and bar/native
files were identical, which violates DRY. To keep some
sanity, I do want to use symlinks.
Flush from success at getting the sbt-cross trio example
project working (Thank you for the example!), I tried to add
test tree code. Since it is, understandably, too soon for
scala-native to support uTest, I wanted to be prepared
and get up to speed by testing scalaJS vs scalaJVM.
Is there a better place for discussion?
This left me with a situation where I needed to enter
settings common to the scalaJS & scalaJVM sub-projects,
but not the scala-native project. Someday I may
be clever enough to figure out some elegant sbt/scala
code to do this, but for now I duplicated (and the
spirits of my mentors yelled at me, for good reason).
When I set up the testing directories, I ran into
a similar problem. I had to duplicate
the tree in js/src/test to jvm/src/test. Surely
a cause for future, self-inflicted pain.
I can also foresee situations where one would want
scalaJVM & scala-native in the mix and scalaJS out.
With time, I hope to figure out some clever way of
handling these 2-out-of-3 issues without falling into
combinatorial complexity. The sbt settings issue
is probably simpler than the duplicated tree issue.
I mention instances of this issue early on for "back of the brain'
consideration because I think other developers will
run straight into them as the try to stretch from the
well explored & experienced scalaJS/scalaJVM duo
to the nova mundi of scalaJS/scalaJVM/scala-native trio.
Thank you for any suggestions, including
"Please be patient until sbt-cross matures".
Lee
scaffolding and/or a thought experiment. sbt-native
seems to have a problem and generate null output to stdout.
In the fullness of time that will get fixed.