Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@lvitaly
Copy link
Contributor

@lvitaly lvitaly commented Dec 16, 2019

No description provided.

@lvitaly lvitaly changed the title Scala.js upgrade to v1.0.0-RC2 (#2392) WIP: Scala.js upgrade to v1.0.0-RC2 (#2392) Dec 16, 2019
@flavomulti
Copy link

flavomulti commented Dec 21, 2019

I can't quite tell what the errors are, how could a user request termination of the test?

@softinio softinio added WIP Work in progress scalajs labels Dec 30, 2019
@jdegoes
Copy link
Member

jdegoes commented Jan 18, 2020

@lvitaly Thank you for submitting your first pull request!!

Can you merge conflicts so we can see if this passes now? Thank you! 🙏

….0.0-RC2

# Conflicts:
#	test-tests/js/src/main/scala/zio/test/ExitUtils.scala
….0.0-RC2

# Conflicts:
#	test-tests/js/src/main/scala/zio/test/ExitUtils.scala
@lvitaly
Copy link
Contributor Author

lvitaly commented Jan 20, 2020

@jdegoes Thanks for your welcoming!
I merged the latest changes from master and all looks fine except magnolia tests. There is no build of magnolia for ScalaJS 1.0.0-RC2 (https://mvnrepository.com/artifact/com.propensive/magnolia).

@jdegoes
Copy link
Member

jdegoes commented Jan 20, 2020

@lvitaly Can you open up a ticket on Magnolia for adding support for 1.0.0-RC2? Would be nice to get that released before we merge this one so we don't have to disable any tests (if possible)...

@lvitaly
Copy link
Contributor Author

lvitaly commented Jan 21, 2020

@jdegoes I've created the issue softwaremill/magnolia#205. I hope it will be available soon.

@jdegoes
Copy link
Member

jdegoes commented Mar 1, 2020

@lvitaly Good news! Magnolia now supports Scala.js 1.0.

So this is ready to push through if you have the time!

…ajs-1.0.0-RC2

# Conflicts:
#	build.sbt
#	project/plugins.sbt
@lvitaly lvitaly requested review from mijicd and softinio as code owners March 2, 2020 13:38
@adamgfraser
Copy link
Contributor

@lvitaly Can't we upgrade to ScalaJS 1.0.0 now that it has been released?

@neko-kai @pshirshov Would it be possible to publish reflect for ScalaJS 1.0.0?

@mijicd
Copy link
Member

mijicd commented Mar 2, 2020

@adamgfraser I think there will be problems with scala-java-time as it isn't published for 1.0.0.

@lvitaly
Copy link
Contributor Author

lvitaly commented Mar 2, 2020

@jdegoes Thanks for the update! Magnolia supports Scala.js 1.0 but the artifact is not published yet 😔 https://mvnrepository.com/artifact/com.propensive/magnolia
And there is another issue with scala-java-time cquiroz/scala-java-time#154
@adamgfraser I've merged latest master and going to upgrade to 1.0.0

@adamgfraser
Copy link
Contributor

@mijicd You are totally right.

@lvitaly Alright, sounds like we are in a holding pattern here. Thanks for your work on this!

@lvitaly
Copy link
Contributor Author

lvitaly commented Mar 2, 2020

@adamgfraser @neko-kai @pshirshov I created a pull request for updating izumi-reflect to ScalaJS 1.0.0
zio/izumi-reflect#3

@neko-kai
Copy link
Member

neko-kai commented Mar 2, 2020

That PR passes CI now zio/izumi-reflect#3
@adamgfraser you can merge it when it's time to publish for 1.0.0. I guess RC18 will still be for 0.6 due to scala-java-time?

@neko-kai
Copy link
Member

neko-kai commented Mar 2, 2020

Given cquiroz/scala-java-time#154

This is blocked by a bug on Scala.js which should be fixed on 1.0.1

We may be blocked till 1.0.1 on scala-java-time

@aappddeevv
Copy link

Looks like 1.0.1 is out. Hopefully cquiroz can release his update that would help unblock this.

@lvitaly lvitaly changed the title WIP: Scala.js upgrade to v1.0.0-RC2 (#2392) WIP: Scala.js upgrade to v1.0.0 (#2392) Mar 6, 2020
@ghostdogpr
Copy link
Member

scala-java-time was published: https://github.com/cquiroz/scala-java-time/blob/master/CHANGELOG.md

@jdegoes
Copy link
Member

jdegoes commented Mar 9, 2020

@lvitaly With Scala Java Time released, anything else we're blocking on?

@neko-kai
Copy link
Member

neko-kai commented Mar 9, 2020

@lvitaly
izumi-reflect for SJS 1.0.0 is out https://github.com/zio/izumi-reflect/releases/tag/v0.12.0-M1

…ajs-1.0.0-RC2

# Conflicts:
#	build.sbt
#	project/plugins.sbt
@lvitaly
Copy link
Contributor Author

lvitaly commented Mar 9, 2020

@neko-kai, thank you for your help.
@jdegoes, looks like we are almost ready and just waiting for the appearance izumi-reflect in the maven repo.
https://mvnrepository.com/artifact/dev.zio/izumi-reflect

….0.0-RC2

# Conflicts:
#	project/BuildHelper.scala
@neko-kai
Copy link
Member

neko-kai commented Mar 9, 2020

@ghostdogpr
Copy link
Member

Magnolia 0.12.8 is available with ScalaJS 1.0

@ghostdogpr
Copy link
Member

Could we either cross-publish for 0.6 and 1.0 (like cats and cats-effect) or wait until after a first ZIO 1.0.0 to get this in? Otherwise projects that are stuck to 0.6 (because of some other dependencies) won't be able to upgrade ZIO.

@neko-kai
Copy link
Member

neko-kai commented Mar 9, 2020

@ghostdogpr how about 18-2 with 0.6, then immediately merge this and release 18-3 with 1.0? I think supporting 0.6 is nonviable long-term, everyone should jump ship

@ghostdogpr
Copy link
Member

Actually, how about we wait until ZIO 1.0.0 and only then, we publish with ScalaJS 1.0 right after?

Otherwise, a lot of projects will be stuck with an old binary incompatible ZIO and impossible to upgrade. For example let's take interop-monix. Monix doesn't have a version for ScalaJS 1.x yet. So we won't be able to upgrade ZIO in that project anymore. Same with sttp, caliban, etc. If we wait ZIO 1.0 it won't be a problem because of binary compatibility: the library will stay on ZIO 1.0.0 but library users will be able to use any ZIO 1.x since it will be binary compatible.

@neko-kai
Copy link
Member

Makes sense. Although if 1.0 takes longer, we might have to bite the bullet and cross-publish

@CLAassistant
Copy link

CLAassistant commented Mar 20, 2020

CLA assistant check
All committers have signed the CLA.

@ghostdogpr
Copy link
Member

Since I wrote that, support was added in many libraries. fs2 supports it, monix just merged support a few days ago (not released yet), etc. So, I think it's okay if we merge that (we should probably rebase and upgrade to 1.0.1 before).

@neko-kai
Copy link
Member

Let's merge this one and upgrade to 1.0.1 in a separate PR

@ghostdogpr ghostdogpr mentioned this pull request Apr 22, 2020
@neko-kai neko-kai merged commit 74c713b into zio:master Apr 22, 2020
neko-kai added a commit to 7mind/zio that referenced this pull request Apr 22, 2020
neko-kai added a commit that referenced this pull request Apr 22, 2020
* Fix Scala.js build (post #2479)

* Move back to shared/Executor source and add jvm/js/native ExecutorPlatformSpecific trait

* Fix imports causing build failure on 2.13/dotty
@lvitaly lvitaly changed the title WIP: Scala.js upgrade to v1.0.0 (#2392) Scala.js upgrade to v1.0.0 (#2392) Apr 22, 2020
wi101 pushed a commit to wi101/scalaz-zio that referenced this pull request Apr 29, 2020
Add test for Schedule#onDecision and documentation for scheduling (zio#3346)

* Add test for Schedule#onDecision and documentation for scheduling

* Add documentation to datatypes, remove console functions from ScheduleSpec

* fix mdoc compile issue

specialize ChunkBuilder (zio#3400)

Implement ZRefM (zio#3391)

* implement ZRefM

* fix Scala 2.13 compatibility issue

* address review comments

* implement SubscriptionRef

* make constructor private

* remove managed variant

* remove unused import

Implement ZIO#mapEffect (zio#3404)

* implement mapEffect

* implement mapPartial

Improve TArray's performance (zio#3407)

* Benchmark TArray

* Implement fold and transform via unsafe

* Improve readability

* Implement find via unsafe

* Implement findLast via unsafe

* Implement foldM via unsafe

* Benchmark indexWhere

* Implement transformM via unsafe

* Implement indexWhere via unsafe

* Implement lastIndexOf via unsafe

* Remove duplicated code

* Implement foldM via ZIO.foldLeft

* Remove 0-sized array from benchmark

* Implement reduceOption via unsafe

* Implement findM via foldM

* Help inference via Option.empty

* Implement findM via iterate

* Implement findLastM via iterate

* Remove useless val

* Format the sources

Update sbt-header to 5.6.0 (zio#3411)

Add AssertionM for effectfull assertions (zio#3403)

Add result field to AssertionValue to avoid test reevaluation.
Protect AssertionValue.assertion to avoid test reevaluation.

Use lazy val tryValue = Try(value) to avoid exception reevaluation:
lazy val stores only successful case.

implement launch (zio#3415)

Add alternative combinator to ZSTM (zio#3414)

* Drop duplicated test

* Remove unnecessary .unit calls

* Align the naming

* Write failing tests

* Keep semantically correct orElse tests

* Fix test expectations

* Fix orElse behavior on failures

* Fix orElse behavior on retries

* Reduce flakiness

* Revert orElse changes

* Introduce alternative combinator

* Update docs

* Reduce flakiness

* Make right retry explicit

* Race updater and transaction

* Move left-right recovery test to JVM tests

* Drop E from orElseSucceed

Co-Authored-By: John A. De Goes <[email protected]>

* Rename alternative to orTry

Co-Authored-By: John A. De Goes <[email protected]>

* Revert "Move left-right recovery test to JVM tests"

This reverts commit 19f1162.

* Tag retry test as JVM-only

* Fix compilation issues

* Fix docs

* Improve scaladoc

Co-Authored-By: John A. De Goes <[email protected]>

* Fix doc mistake

Co-authored-by: John A. De Goes <[email protected]>

Update sbt-scalafix to 0.9.15 (zio#3423)

Optimize TQueue (zio#3421)

Update sbt-ci-release to 1.5.3 (zio#3425)

ZIO Test: Support Laws for Capabilities Parameterized on Two Types (zio#3420)

* implement ZLaws2

* use AnyF

Back up Chunk[Boolean] by Chunk.BitChunks (zio#3419)

fix publishing (zio#3433)

WIP: Scala.js upgrade to v1.0.0 (zio#2392) (zio#2479)

* Update to Scala.js 1.0.0-RC2

* fix for passing testJS

* formatting fix

* Merge remote-tracking branch 'upstream/master' into feature/scalajs-1.0.0-RC2

* Merge branch 'master' of https://github.com/zio/zio into feature/scalajs-1.0.0-RC2

* sonatype resolver added for izumi-reflect;
magnolia updated to v0.12.8

Fix Scala.js build (post zio#2479) (zio#3436)

* Fix Scala.js build (post zio#2479)

* Move back to shared/Executor source and add jvm/js/native ExecutorPlatformSpecific trait

* Fix imports causing build failure on 2.13/dotty

Update Magnolia (zio#3432)

* Update Magnolia

There is a bug in Magnolia versions < 0.15 which causes derivation for case classes with default values to fail.
The update should fix it.

* Add scala-reflect % Provided dependency, now required for magnolia & exclude scala-compiler

Co-authored-by: Kai <[email protected]>
Co-authored-by: Kai <[email protected]>

Update nyaya-gen to 0.9.1 (zio#3438)

Remove sonatype public resolver (zio#3434)

Add specialized accessor operations to Chunk (zio#3431)

* Add specialized accessor operations to Chunk

* Generate only non-empty chunks using chunkWithIndex generator

Add ZIO STM blogpost (zio#3443)

generalize (zio#3439)

Update scala-java-time to 2.0.0 (zio#3446)

suspend effects (zio#3444)

Fix Publishing on Master (zio#3437)

* fix publishing

* fix bug

add Scalac logo to the Sponsors section in Readme (zio#3379)

Implement ZIO#service (zio#3422)

* implement getService

* add variants

* rename

Add Diagnostic Code to Has (zio#3377)

* add diagnostic code

* Fix environment composition

* Fix 2.11/dotty

Co-authored-by: ioleo <[email protected]>

Use short forms where it makes sense (zio#3452)

* Use short forms where it makes sense

* One more `none` usage.

Update to izumi-reflect 1.0.0-M1, use izumi-reflect on dotty (zio#3445)

* Update to izumi-reflect-1.0.0-M1, depend on izumi-reflect in dotty

* Use one VersionSpecific file for dotty & scala-2

* Adding type signatures to Mock modules to workaround scala/scala3#8764

error:

```
  [error] -- Error: PureModule.scala:77:86
  [error] 77 |  val static                                           = ZIO.accessM[PureModule](_.get.static)
  [error]    |                                                                                      ^
  [error]    |could not find implicit value for izumi.reflect.Tag[zio.test.mock.module.PureModule.Service]. Did you forget to put on a Tag, TagK or TagKK context bound on one of the parameters in zio.test.mock.module.PureModule.Service? e.g. def x[T: Tag, F[_]: TagK] = ....
  [error]    |I found:
  [error]    |
  [error]    |    {
  [error]    |      izumi.reflect.Tag.apply[zio.test.mock.module.PureModule.Service](classOf[Any]
  [error]    |        ,
  [error]    |      {
  [error]    |        <empty> :izumi.reflect.macrortti.LightTypeTag
  [error]    |      }
  [error]    |      ):izumi.reflect.Tag[zio.test.mock.module.PureModule.Service]
  [error]    |    }
  [error]    |
  [error]    |But method tagFromTagMacro in object Tag does not match type izumi.reflect.Tag[zio.test.mock.module.PureModule.Service].
  [error]    |
  [error]    |The following import might make progress towards fixing the problem:
  [error]    |
  [error]    |  import izumi.reflect.Tag.tagFromTagMacro
```

* add type signature to SpecSpec to workaround error:

```
[error] -- Error: SpecSpec.scala:17:51
[error] 17 |  val layer = ZLayer.succeed(new Module.Service {})
[error]    |                                                   ^
[error]    |could not find implicit value for izumi.reflect.Tag[zio.test.SpecSpec.Module.Service]. Did you forget to put on a Tag, TagK or TagKK context bound on one of the parameters in zio.test.SpecSpec.Module.Service? e.g. def x[T: Tag, F[_]: TagK] = ....
[error]    |I found:
[error]    |
[error]    |    {
[error]    |      izumi.reflect.Tag.apply[zio.test.SpecSpec.Module.Service](classOf[Any],
[error]    |        {
[error]    |          <empty> :izumi.reflect.macrortti.LightTypeTag
[error]    |        }
[error]    |      ):izumi.reflect.Tag[zio.test.SpecSpec.Module.Service]
[error]    |    }
[error]    |
[error]    |But method tagFromTagMacro in object Tag does not match type izumi.reflect.Tag[zio.test.SpecSpec.Module.Service].
[error]    |
[error]    |The following import might make progress towards fixing the problem:
[error]    |
[error]    |  import izumi.reflect.Tag.tagFromTagMacro
```

* Lift `exceptDotty` from HasSpec & ComposedMockSpec (TaggedSpec still won't pass because deriving is not implemented)

* add type signatures to MockSpecUtils, update comments

* Workaround type inference-caused test failures in PolyMockSpec - Any was inferred for `Tag` now, probably maybe because Tag parameter is AnyKind, add workaround

* Fix `@mockable` macro, restrict valid `Tagged` definitions to just izumi.reflect.Tag

* sbt fix

fix type signature (zio#3455)

Update util-core to 20.4.1 (zio#3457)

generalize type signature (zio#3460)

doc(test_effects) : add aspect ignore (zio#3462)

upgrade monix version (zio#3467)

Implement ZManaged#flattenM (zio#3464)

* implement flattenM

* format

* fix Scaladoc

reorder type parameters (zio#3463)

Implement ZManaged#release (zio#3466)

* implement ZManaged#release

* rename

Use ChunkBuilder more prominently in Chunk (zio#3453)

* make Chunk use ChunkBuilder

* fix lint failure

* consistent parenthesis use

* use parens for Chunkbuilder#make

* followup

* retrigger ci

Update reactor-core to 3.3.5.RELEASE (zio#3472)

Update magnolia to 0.16.0 (zio#3473)

Update nyaya-gen to 0.9.2 (zio#3474)

added blog to list (zio#3471)

* updated blog for RC18 + http4s .21.x

* added new blog to resource page

Co-authored-by: Pierre Ricadat <[email protected]>

Add zio-easymock to libraries with zio support list (zio#3481)

Add ZIO#filterNot and ZSTM#filterNot (zio#3477)

* Add ZIO#filterNot and ZSTM#filterNot

* Fix typos

implement assertElements and assertElements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scalajs WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants