Skip to content

Commit

Permalink
OPTIMUS-36426 export changes from 1317808b5f314279ebe1881fb9cceb73521…
Browse files Browse the repository at this point in the history
…408c7
  • Loading branch information
Optimus Cirrus Developers committed Jul 31, 2023
1 parent d93cee6 commit d605a61
Show file tree
Hide file tree
Showing 222 changed files with 9,971 additions and 843 deletions.
18 changes: 11 additions & 7 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
Welcome to Optimus Cirrus. This is our open-sourcing of a set of software infrastructure that we use internally to build and run systems.
Welcome to Optimus Cirrus. This is our open-sourcing of a set of software infrastructure that we use internally to build and run highly-performant and parallelizable applications.

Please note the LICENSE file.

We hope that you find the project interesting and useful. If you want to ask questions or make comments then please feel free to contact us at `optimus_cirrus (at) morganstanley (dot) com`. If you would like to make a contribution, please also contact us there so that we can discuss the proposed changes and outline the process. Contributing guidelines will be available here soon.

[Contributors](contributors.md)

Here are some links to talks we have done about the principles behind Optimus Cirrus:
* https://www.youtube.com/watch?v=V0jJvgiI_xs (ScalaCon 2021; technical portion starts at 24:30)
* https://skillsmatter.com/skillscasts/13108-monad-i-love-you-now-get-out-of-my-type-system (Scala eXchange London 2018)
* https://www.youtube.com/watch?v=BW8S92jP5sE (ScalaDays 2018)
* https://skillsmatter.com/skillscasts/11182-automatic-parallelisation-and-batching-of-scala-code (Scala eXchange London 2017)

The initial release will include the basics that will allow you to see some parts of the runtime in action. We are in the process of preparing more project components to be shared here.

Please note the LICENSE file.

We hope that you find the project interesting and useful. If you want to ask questions or make comments then please feel free to contact us at `optimus_cirrus (at) morganstanley (dot) com`.
The initial releases will include the basics that will allow you to see some parts of the runtime in action. We are in the process of preparing more project components to be shared here.

[Contributors](contributors.md)
### Upcoming Work:
* We are preparing all the code used to compile the Optimus Build Tool (OBT).
* Once all that code is available here, we will run an initial build and then bootstrap OBT.
2 changes: 1 addition & 1 deletion .github/contributors.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ Tony Lam ([@calltl](http://github.com/calltl))

Valerie Saunders Duncan ([@ms-valerie](http://github.com/ms-valerie))

[@vincentdyleung](http://github.com/vincentdyleung)
Diyu Liang ([@vincentdyleung](http://github.com/vincentdyleung))
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@
.idea
/.shelf/

# VSCode
*.code-workspace
.devcontainer
.vscode

# Python
.mypy_cache/
*.pyc
Expand Down
3 changes: 3 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ This product includes software developed by other groups and added in accordance
- https://github.com/scala/scala (in optimus/buildtool/projects/core/src/main/scala/optimus/buildtool/utils/parser/Parser.scala)
- https://github.com/spray/spray-json (in optimus.platform.spray_json module; refer to https://github.com/spray/spray-json/pull/222/files)
- https://github.com/thombergs/diffparser (in git-utils/src/main/scala/optimus/git/diffparser/DiffParser.java)

This product includes software developed by other groups and added in accordance with their MIT licenses. Projects include:
- https://github.com/eed3si9n/scalaxb (in optimus/buildtool/projects/app/src/main/scala/scalaxb/compiler/Log.scala)
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
*/
package optimus.tools.scalacplugins.entity.reporter

import optimus.tools.scalacplugins.entity.OptimusPhaseInfo

import scala.collection.mutable

object OptimusAlarms {
Expand Down Expand Up @@ -63,8 +65,7 @@ object OptimusAlarms {
validatedAlarms.get(sn) match {
case Some(existing) =>
assert(
existing.id.sn == oab.id.sn && existing.id.tpe == oab.id.tpe && existing.template == oab.template &&
existing.obtMandatory == oab.obtMandatory && existing.scalaMandatory == oab.scalaMandatory,
existing.id.sn == oab.id.sn && existing.id.tpe == oab.id.tpe && existing.template == oab.template,
s"Duplicated message ID $sn"
)
case None => ()
Expand Down Expand Up @@ -129,6 +130,19 @@ trait OptimusAlarms {
}
}

trait BuilderHelpers { self: OptimusAlarms =>
import OptimusAlarmType._
type Info
private type Ctor[R] = (AlarmId, Info, String) => R
def newBuilder[R <: OptimusAlarmBuilder](builder: Ctor[R])(tpe: Tpe): (Int, Info, String) => R =
(sn: Int, phase: Info, template: String) => register(builder(alarmId(sn, tpe), phase, template))
}

trait OptimusAlarmBuilder {
val id: AlarmId
val template: String
}

object OptimusAlarmType extends Enumeration {
type Tpe = Value

Expand Down
Loading

0 comments on commit d605a61

Please sign in to comment.