All Projects → alonsodomin → Cron4s

alonsodomin / Cron4s

Licence: apache-2.0
Cross-platform CRON expression parsing for Scala

Programming Languages

scala
5932 projects
scalajs
39 projects

Projects that are alternatives of or similar to Cron4s

Rufus Scheduler
scheduler for Ruby (at, in, cron and every jobs)
Stars: ✭ 2,223 (+2145.45%)
Mutual labels:  cron, time
Fugit
time tools (cron, parsing, durations, ...) for Ruby, rufus-scheduler, and flor
Stars: ✭ 172 (+73.74%)
Mutual labels:  cron, time
Timelapse
🎬 Native macOS app for recording timelapse videos of your desktop.
Stars: ✭ 169 (+70.71%)
Mutual labels:  time, cross-platform
time.clj
time util for Clojure(Script)
Stars: ✭ 45 (-54.55%)
Mutual labels:  time, cron
Mln
高性能、小巧、易上手的移动跨平台开发框架. A framework for building Mobile cross-platform apps with Lua
Stars: ✭ 1,343 (+1256.57%)
Mutual labels:  cross-platform
Libpnet
Cross-platform, low level networking using the Rust programming language.
Stars: ✭ 1,322 (+1235.35%)
Mutual labels:  cross-platform
App
free software application for social network analysis and visualization
Stars: ✭ 94 (-5.05%)
Mutual labels:  cross-platform
Luatz
Time, Date and Timezone library for lua
Stars: ✭ 92 (-7.07%)
Mutual labels:  time
Ddns Route53
Dynamic DNS for Amazon Route 53 on a time-based schedule
Stars: ✭ 98 (-1.01%)
Mutual labels:  cron
Sleepto
An alternative to traditional task schedulers
Stars: ✭ 98 (-1.01%)
Mutual labels:  cron
Rxstorekit
StoreKit library for RxSwift
Stars: ✭ 96 (-3.03%)
Mutual labels:  functional
Gemma
A lightweight CSS library.
Stars: ✭ 94 (-5.05%)
Mutual labels:  functional
Essentials
Essential cross platform APIs for your mobile apps.
Stars: ✭ 1,344 (+1257.58%)
Mutual labels:  cross-platform
Brein Time Utilities
Library which contains several time-dependent data and index structures (e.g., IntervalTree, BucketTimeSeries), as well as algorithms.
Stars: ✭ 94 (-5.05%)
Mutual labels:  time
Vbasync
Cross-platform tool to synchronize macros from an Office VBA-enabled file with a version-controlled folder
Stars: ✭ 98 (-1.01%)
Mutual labels:  cross-platform
Reactivemvvm
Cross-platform ReactiveUI sample app built for a talk at MSK .NET conf.
Stars: ✭ 94 (-5.05%)
Mutual labels:  cross-platform
Neuchar
Senparc.NeuChar 跨平台信息交互标准
Stars: ✭ 96 (-3.03%)
Mutual labels:  cross-platform
Packetsender
Network utility for sending / receiving TCP, UDP, SSL
Stars: ✭ 1,349 (+1262.63%)
Mutual labels:  cross-platform
Shapes
📐 Net standard geometry/shape manipulation library, can be used to merge / split shapes
Stars: ✭ 95 (-4.04%)
Mutual labels:  cross-platform
Flutter todo
Yet another Todo app, now using Flutter (with ScopedModel)
Stars: ✭ 94 (-5.05%)
Mutual labels:  cross-platform

Cron4s

Join the chat at https://gitter.im/alonsodomin/cron4s Build Status Scala.js License Maven Central

Codacy Badge codecov Mergify Status

Idiomatic Cron expression parsing in Scala and ScalaJS.

Documentation

Please, take a look at the user guide for instructions on how to use this library. The remaining of this section will be focused on information for other developers.

Building

cron4s is built using SBT:

git clone https://github.com/alonsodomin/cron4s
cd cron4s
sbt test

The user documentation is built/generated using sbt-microsites and requires Jekyll to be installed in the local machine. To generate and browse the latest docs from master follow these steps from the project's root folder:

sbt makeMicrosite
cd docs/target/site
jekyll serve

Then make your browser point to http://127.0.0.1:4000/cron4s and that's all.

Cross building

cron4s is cross-built and published for several versions of Scala. The different set of versions are configured in the .travis.yml file in the scala section. For example:

scala:
  - 2.12.9
  - 2.13.0

Supporting additional Scala versions is a matter of adding a new version to that section and then make the codebase compile against it whilst preserving backwards compatibility. The easiest way to check that compatibility is triggering a cross build with SBT:

sbt +test

Repository Automation

There is some sort of automation configured in this repository to ease the management of some tedious or repetitive tasks:

  • Version upgrades: The Scala Steward will be producing pull requests with version upgrades of this library dependencies.
  • Auto-merge: Mergify is installed in this repo to do auto-merge of pull requests that meet a given criteria. This said criteria can be modified in the .mergify at the project's root folder.
  • Travis Release: Travis CI has been configured, not just to build the project, but also to be able to release to Maven Central with minimal user interaction. Pushing a tag in the repo with the version number will sign and publish such a release in Maven Central, non-tagged commits to master will be published as SNAPSHOT.

Related Projects

This is a non-exhaustive list of other open source projects and libraries that use or are somewhat related to Cron4s. If you have a library that depends on Cron4s you could add it here:

  • fs2-cron: Create pure functional streams that emit elements based on a given cron schedule.
  • pureconfig-cron4s: Cron expression parsing support in configuration files.

Code Of Conduct

See the Code of Conduct.

License

Copyright 2017 Antonio Alonso Dominguez

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].