Skip to content

Commit

Permalink
Merge pull request #209 from ba-st/pharo_10
Browse files Browse the repository at this point in the history
Add Pharo 10
  • Loading branch information
gcotelli authored Apr 20, 2022
2 parents 3501fa5 + 112aa40 commit 468f6c6
Show file tree
Hide file tree
Showing 44 changed files with 1,099 additions and 636 deletions.
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.st linguist-language=Smalltalk
text eol=lf
*.st eol=lf
*.st text diff
14 changes: 7 additions & 7 deletions .github/workflows/loading-groups.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: Group loading check
name: Baseline Groups

on: [push,pull_request]
on: [push,pull_request,workflow_dispatch]

jobs:
build:
group-loading:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
smalltalk: [ Pharo64-8.0, Pharo64-7.0 ]
load-spec: [ deployment, dependent-sunit-extensions, tests, tools, development]
smalltalk: [ Pharo64-10, Pharo64-9.0, Pharo64-8.0 ]
load-spec: [ deployment, dependent-sunit-extensions, tests, tools, development ]
name: ${{ matrix.smalltalk }} + ${{ matrix.load-spec }}
steps:
- uses: actions/checkout@v2
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-version: ${{ matrix.smalltalk }}
smalltalk-image: ${{ matrix.smalltalk }}
- name: Load group in image
run: smalltalkci -s ${{ matrix.smalltalk }} .loading.${{ matrix.load-spec }}.ston
run: smalltalkci -s ${{ matrix.smalltalk }} .smalltalkci/loading.${{ matrix.load-spec }}.ston
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
timeout-minutes: 15
14 changes: 14 additions & 0 deletions .github/workflows/markdown-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Markdown Lint
on: [push,pull_request,workflow_dispatch]
jobs:
remark-lint:
name: runner / markdownlint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: markdownlint
uses: reviewdog/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
fail_on_error: true
reporter: github-pr-review
13 changes: 7 additions & 6 deletions .github/workflows/build.yml → .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
name: Build
name: Unit Tests

on: [push,pull_request]
on: [push,pull_request,workflow_dispatch]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
smalltalk: [ Pharo64-8.0, Pharo64-7.0, Pharo32-7.0 ]
smalltalk: [ Pharo64-10, Pharo64-9.0, Pharo64-8.0 ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v2
- uses: hpi-swa/setup-smalltalkCI@v1
- name: Set up Smalltalk CI
uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-version: ${{ matrix.smalltalk }}
smalltalk-image: ${{ matrix.smalltalk }}
- name: Load Image and Run Tests
run: smalltalkci -s ${{ matrix.smalltalk }}
run: smalltalkci -s ${{ matrix.smalltalk }} .smalltalkci/unit-tests.ston
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
timeout-minutes: 15
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Willow',
#directory : 'source',
#directory : '../source',
#load : [ 'Dependent-SUnit-Extensions' ],
#platforms : [ #pharo ]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Willow',
#directory : 'source',
#directory : '../source',
#load : [ 'Deployment' ],
#platforms : [ #pharo ]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Willow',
#directory : 'source',
#directory : '../source',
#load : [ 'Development' ],
#platforms : [ #pharo ]
}
Expand Down
4 changes: 2 additions & 2 deletions .loading.tests.ston → .smalltalkci/loading.tests.ston
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Willow',
#directory : 'source',
#directory : '../source',
#load : [ 'Tests' ],
#platforms : [ #pharo ]
}
Expand All @@ -12,5 +12,5 @@ SmalltalkCISpec {
#packages : [ 'Willow*' ],
#format: #lcov
}
}
}
}
2 changes: 1 addition & 1 deletion .loading.tools.ston → .smalltalkci/loading.tools.ston
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Willow',
#directory : 'source',
#directory : '../source',
#load : [ 'Tools' ],
#platforms : [ #pharo ]
}
Expand Down
2 changes: 1 addition & 1 deletion .smalltalk.ston → .smalltalkci/unit-tests.ston
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Willow',
#directory : 'source',
#directory : '../source',
#load : [ 'CI' ],
#platforms : [ #pharo ]
}
Expand Down
59 changes: 27 additions & 32 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,42 @@
Contributing
============
# Contributing

There's several ways to contribute to the project: reporting bugs, sending feedback, proposing ideas for new features, fixing or adding documentation, promoting the project, or even contributing code.
There are several ways to contribute to the project: reporting bugs, sending
feedback, proposing ideas for new features, fixing or adding documentation,
promoting the project, or even contributing code.

## Reporting issues

You can report issues [here](https://github.com/ba-st/Willow/issues/new)

## Contributing Code

- This project is MIT licensed, so any code contribution MUST be under the same license.
- This project uses [Semantic Versioning](http://semver.org/), so keep it in mind when you make backwards-incompatible changes. If some backwards incompatible change is made the major version MUST be increased.
- The source code is hosted in this repository using the Tonel format in the `source` folder.
- The `release-candidate` branch contains the latest changes and should always be in a releasable state.
- This project uses [Semantic Versioning](http://semver.org/), so keep it in
mind when you make backwards-incompatible changes. If some backwards
incompatible change is made the major version MUST be increased.
- The source code is hosted in this repository using the Tonel format in the
`source` folder.
- The `release-candidate` branch contains the latest changes and should always
be in a releasable state.
- Feel free to send pull requests or fork the project.
- Code contributions without test cases have a lower probability of being merged into the main branch.

### Using Iceberg
1. Download a [Pharo Image and VM](https://get.pharo.org/64)
2. Clone the project or your fork using Iceberg
3. Open the Working Copy and using the contextual menu select `Metacello -> Install baseline...`
4. Input `Development`
5. This will load the base code and the test cases
6. Create a new branch to host your code changes
7. Do the changes
8. Run the test cases
9. Commit and push your changes to the branch using the Iceberg UI
10. Create a Pull Request against the `release-candidate` branch

## Contributing documentation
- Code contributions without test cases have a lower probability of being merged
into the main branch.

The project documentation is maintained in this repository in the `docs` folder and licensed under CC BY-SA 4.0. To contribute some documentation or improve the existing, feel free to create a branch or fork this repository, make your changes and send a pull request.
1. [Load the project code in a Pharo image](docs/how-to/how-to-load-in-pharo.md)
2. Create a new branch to host your code changes
3. Do the changes
4. Run the test cases
5. Commit and push your changes to the branch using the Iceberg UI. You may need
to add your fork if lacking the required permissions to push to the main repo.
6. Create a Pull Request against the `release-candidate` branch

## How to release a new version

The `release-candidate` branch should always contain a releasable version, so all the test cases must be passing. The released versions are managed as tags using the GitHub releases support.
1. The following code changes should be made before the release:
- Update version number in `package.json`
- If there was changes in WillowNamespaceFileMetadataLibrary file contents (there's a test checking that using the hash)
- Update version number in `WillowNamespaceFileMetadataLibrary class>>version`
- Fix the test cases related to version numbers
2. Follow the instructions in the [community guidelines](https://github.com/ba-st/Community/blob/master/docs/CodingStandards.md#releasing-a-new-version)
## Contributing documentation

The project documentation is maintained in this repository in the `docs` folder
and licensed under CC BY-SA 4.0. To contribute some documentation or improve the
existing, feel free to create a branch or fork this repository, make your
changes and send a pull request.

### Useful References:
### Useful References

- [W3C HTML5 Home](https://www.w3.org/TR/html5/)
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2011-2020 Maximiliano Tabacman & Buenos Aires Smalltalk contributors
Copyright (c) 2011-2022 Maximiliano Tabacman & Buenos Aires Smalltalk contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
91 changes: 38 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,79 +1,64 @@
<p align="center"><img src="assets/logos/128x128.png">
<h1 align="center">Willow</h1>
<p align="center">
Ready-to-use components for interactive web applications + framework agnostic integration
<br>
<a href="docs/"><strong>Explore the docs »</strong></a>
<br>
<br>
<a href="https://github.com/ba-st/Willow/issues/new?labels=Type%3A+Defect">Report a defect</a>
|
<a href="https://github.com/ba-st/Willow/issues/new?labels=Type%3A+Feature">Request feature</a>
</p>
</p>
# Willow

[![GitHub release](https://img.shields.io/github/release/ba-st/Willow.svg)](https://github.com/ba-st/Willow/releases/latest)
[![Build Status](https://github.com/ba-st/Willow/workflows/Build/badge.svg?branch=release-candidate)](https://github.com/ba-st/Willow/actions?query=workflow%3ABuild)
[![Coverage Status](https://codecov.io/github/ba-st/Willow/coverage.svg?branch=release-candidate)](https://codecov.io/gh/ba-st/Willow/branch/release-candidate)
[![Javascript Dependency Status](https://david-dm.org/ba-st/Willow.svg)](https://david-dm.org/ba-st/Willow)
[![Pharo 6.1](https://img.shields.io/badge/Pharo-6.1-informational)](https://pharo.org)
[![Pharo 7.0](https://img.shields.io/badge/Pharo-7.0-informational)](https://pharo.org)
[![Pharo 8.0](https://img.shields.io/badge/Pharo-8.0-informational)](https://pharo.org)

[Willow](https://github.com/ba-st/Willow) is developed using [Smalltalk](http://stephane.ducasse.free.fr/FreeBooks.html), providing a simple interface for your web application, no matter the front-end framework you choose.

The tutorials below assume you are familiar with Smalltalk code, and are using [Pharo](http://pharo.org/) as your development environment. Willow is intended to work alongside the [RenoirSt](https://github.com/ba-st/RenoirSt) DSL to define the CSS of your application. Some basic knowledge of [Seaside](https://github.com/SeasideSt/Seaside) is also recommended.

## License
- The code is licensed under [MIT](LICENSE).
- The documentation is licensed under [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/).
![Logo](assets/logo.svg)

## Quick Start
Ready-to-use components for interactive web applications + framework agnostic integration

- Download the latest [Pharo 32](https://get.pharo.org/) or [64 bits VM](https://get.pharo.org/64/).
- Download a ready to use image from the [release page](https://github.com/ba-st/Willow/releases/latest)
- Explore the [documentation](docs/)
[![Unit Tests](https://github.com/ba-st/Willow/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/ba-st/Willow/actions/workflows/unit-tests.yml/badge.svg)
[![Coverage Status](https://codecov.io/github/ba-st/Willow/coverage.svg?branch=release-candidate)](https://codecov.io/gh/ba-st/Willow/branch/release-candidate)
[![Baseline Groups](https://github.com/ba-st/Willow/actions/workflows/loading-groups.yml/badge.svg)](https://github.com/ba-st/Willow/actions/workflows/loading-groups.yml)
[![Markdown Lint](https://github.com/ba-st/Willow/actions/workflows/markdown-lint.yml/badge.svg)](https://github.com/ba-st/Willow/actions/workflows/markdown-lint.yml)

## Tutorial
To learn more about Willow, load [Willow-Playground](https://github.com/ba-st/Willow-Playground) and check the Presentation application. These will also install 2 sample applications: Test Runner and Live Documentation.
[![GitHub release](https://img.shields.io/github/release/ba-st/Willow.svg)](https://github.com/ba-st/Willow/releases/latest)
[![Pharo 8.0](https://img.shields.io/badge/Pharo-8.0-informational)](https://pharo.org)
[![Pharo 9.0](https://img.shields.io/badge/Pharo-9.0-informational)](https://pharo.org)
[![Pharo 10](https://img.shields.io/badge/Pharo-10-informational)](https://pharo.org)

Also you can check the [FAQs](docs/FAQ.md) and the rest of the documentation available in the docs folder.
[Willow](https://github.com/ba-st/Willow) is developed using [Smalltalk](http://stephane.ducasse.free.fr/FreeBooks.html),
providing a simple interface for your web application, no matter the front-end
framework you choose.

There is also some introductory posts [here](https://medium.com/mercap-tech-blog/). And you can ask questions in the #willow channel at [ba-st.slack.com](https://ba-st.slack.com/) or the #willow channel in the Pharo Discord server.
The tutorials below assume you are familiar with Smalltalk code, and are using
[Pharo](http://pharo.org/) as your development environment. Willow is intended
to work alongside the [RenoirSt](https://github.com/ba-st/RenoirSt) DSL to define
the CSS of your application. Some basic knowledge of [Seaside](https://github.com/SeasideSt/Seaside)
is also recommended.

### Adding front-end framework support
Willow uses an HTML5 component provider by default. To work with a particular framework, you should install:
## Quick links

Framework | Project | Status
--- | --- | ---
[Bootstrap 3/4](https://getbootstrap.com/) | [Willow-Bootstrap](https://github.com/ba-st/Willow-Bootstrap) | ![Active](http://www.repostatus.org/badges/latest/active.svg)
[JQuery UI](https://jqueryui.com/) | [Willow-JQueryUI](https://github.com/ba-st/Willow-JQueryUI) | ![Active](http://www.repostatus.org/badges/latest/active.svg)
[Semantic UI](https://semantic-ui.com/) | [Willow-SemanticUI](https://github.com/ba-st/Willow-SemanticUI) | ![WIP](http://www.repostatus.org/badges/latest/wip.svg)
- [**Explore the docs**](docs/README.md)
- [Report a defect](https://github.com/ba-st/Willow/issues/new?labels=Type%3A+Defect)
- [Request a feature](https://github.com/ba-st/Willow/issues/new?labels=Type%3A+Feature)

### Adding extensions
## License

Extension | Project
---|---
[Mixpanel](https://mixpanel.com/) | [Willow Mixpanel](https://github.com/ba-st/Willow-Mixpanel)
Spinners | [Willow SpinKit](https://github.com/ba-st/Willow-SpinKit)
[Auth0](https://auth0.com)| [Willow Auth0](https://github.com/ba-st/Willow-Auth0)
- The code is licensed under [MIT](LICENSE).
- The documentation is licensed under [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/).

## Installation

To load the project in a Pharo image, or declare it as a dependency of your own project follow this [instructions](docs/Installation.md).
To load the project in a Pharo image follow this [instructions](docs/how-to/how-to-load-in-pharo.md).

## Contributing

Check the [Contribution Guidelines](CONTRIBUTING.md)

## Credits

- Willow was first presented in the [Smalltalks 2013 Conference](http://fast.org.ar).
A video of the presentation can be seen [here](https://youtu.be/JezITRHCBuc?list=PLCGAAdUizzH027lLWKXh_44cGuEsay7-R).

- A follow up presentation was made in the Smalltalks 2017 Conference. The slides are available [here](https://www.slideshare.net/gcotelli/willow-101-82159948) and a video of the presentation can be seen [here](https://youtu.be/-QmvIBLDASM).
- A follow up presentation was made in the Smalltalks 2017 Conference. The slides
are available [here](https://www.slideshare.net/gcotelli/willow-101-82159948)
and a video of the presentation can be seen [here](https://youtu.be/-QmvIBLDASM).

- Another follow up presentation was mande in the ESUG 2018 and Smalltalks 2018 conferences. The slides are available [here](https://www.slideshare.net/FASTPresentations/willow-the-interaction-tour-by-maxi-tabacman) and a video of the presentation can be seen [here](https://youtu.be/U6-JoPRcXHc)
- Another follow up presentation was made in the ESUG 2018 and Smalltalks 2018
conferences. The slides are available [here](https://www.slideshare.net/FASTPresentations/willow-the-interaction-tour-by-maxi-tabacman)
and a video of the presentation can be seen [here](https://youtu.be/U6-JoPRcXHc)

- Work started by [Maximiliano Tabacman](https://github.com/mtabacman). Code improvements provided by [Gabriel Cotelli](https://github.com/gcotelli). Additional ideas and fixes by [Francisco Ortiz Peñaloza](https://github.com/fortizpenaloza) and [Julián Maestri](https://github.com/serpi90).
- Work started by [Maximiliano Tabacman](https://github.com/mtabacman). Code
improvements provided by [Gabriel Cotelli](https://github.com/gcotelli).
Additional ideas and fixes by [Francisco Ortiz Peñaloza](https://github.com/fortizpenaloza)
and [Julián Maestri](https://github.com/serpi90).

- Real world scenarios and coding time granted by [Mercap Software](https://www.mercapsoftware.com/en/).
1 change: 1 addition & 0 deletions assets/logos/logo.svg → assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/logos/128x128.png
Binary file not shown.
Binary file removed assets/logos/16x16.png
Binary file not shown.
Binary file removed assets/logos/256x256.png
Binary file not shown.
Binary file removed assets/logos/32x32.png
Binary file not shown.
Binary file removed assets/logos/512x512.png
Binary file not shown.
Binary file removed assets/logos/64x64.png
Binary file not shown.
Loading

0 comments on commit 468f6c6

Please sign in to comment.