Skip to content

Commit

Permalink
Merge pull request #48 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 c9119ee + 99825c0 commit 8cf3595
Show file tree
Hide file tree
Showing 22 changed files with 226 additions and 194 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
*.st linguist-language=Smalltalk
*.st eol=lf
*.st text diff
2 changes: 1 addition & 1 deletion .github/workflows/loading-groups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
smalltalk: [ Pharo64-9.0, Pharo64-8.0 ]
smalltalk: [ Pharo64-10, Pharo64-9.0, Pharo64-8.0 ]
load-spec: [ deployment, deployment-seaside-extensions, tests, tools, development, development-seaside-extensions ]
name: ${{ matrix.smalltalk }} + ${{ matrix.load-spec }}
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
smalltalk: [ Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, Pharo32-7.0 ]
smalltalk: [ Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, Pharo32-7.0 ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v2
Expand Down
34 changes: 14 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing
# Contributing

There's several ways to contribute to the project: reporting bugs, sending
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.

Expand All @@ -11,30 +11,24 @@ You can report issues [here](https://github.com/ba-st/RenoirSt/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.
- 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 master branch contains the latest changes and should always be in a
releasable state.
- 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-Seaside-Extensions`
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
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

## Contributing documentation

Expand Down
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) 2013-2021 Gabriel Cotelli, RenoirSt and Buenos Aires Smalltalk Contributors
Copyright (c) 2013-2022 Gabriel Cotelli, RenoirSt and 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
17 changes: 6 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ A DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk
[![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)
[![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)

Quick links
## Quick links

- [**Explore the docs**](docs/)
- [**Explore the docs**](docs/README.md)
- [Report a defect](https://github.com/ba-st/RenoirSt/issues/new?labels=Type%3A+Defect)
- [Request a feature](https://github.com/ba-st/RenoirSt/issues/new?labels=Type%3A+Feature)

Expand All @@ -36,11 +38,9 @@ Quick links
- 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/).

## Quick Start
## Installation

- 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/RenoirSt/releases/latest)
- Explore the [documentation](docs/)
To load the project in a Pharo image follow this [instructions](docs/how-to/how-to-load-in-pharo.md).

***********************************************

Expand All @@ -62,11 +62,6 @@ body::before
}
```

## 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).

## Contributing

Check the [Contribution Guidelines](CONTRIBUTING.md)
112 changes: 0 additions & 112 deletions docs/Installation.md

This file was deleted.

13 changes: 13 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# RenoirSt Documentation

A DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk.

To learn about the project, [install it](how-to/how-to-load-in-pharo.md) and
follow the [tutorial](tutorial/Tutorial-TOC.md).

---

To use the project as a dependency of your project, take a look at:

- [How to use RenoirSt as a dependency](how-to/how-to-use-as-dependency-in-pharo.md)
- [Baseline groups reference](reference/Baseline-groups.md)
82 changes: 82 additions & 0 deletions docs/how-to/how-to-load-in-pharo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# How to load RenoirSt in a Pharo image

## Pharo 6.1 or greater

### Using Metacello

1. Download a [Pharo VM and image](https://pharo.org/download)
2. Open your Pharo image
3. Open a Playground
4. Evaluate:

```smalltalk
Metacello new
baseline: 'RenoirSt';
repository: 'github://ba-st/RenoirSt:release-candidate';
load: 'Development'.
```
> Change `release-candidate` to some released version if you want a pinned version
### Using Iceberg
1. Download [pharo VM and image](https://pharo.org/download)
2. Open your Pharo image
3. Open Iceberg
4. Click the *Add* repository button
5. Select *Clone from github.com* and enter `ba-st` as owner name and `RenoirSt`
as project name
6. Click *Ok*
7. Select the repository in the main Iceberg window
8. Open the contextual menu and select
*Metacello -> Install baseline of RenoirSt ...*
9. Type `Development` and click *Ok*
> After Iceberg cloned a repository, it will be checked-out at the default
> branch (in this case `release-candidate`). If you want to work on a different
> branch or commit, perform the checkout before the baseline installation step.
## Pharo 5
- Open a Playground and evaluate:
```smalltalk
Metacello new
baseline: 'RenoirSt';
repository: 'github://ba-st/RenoirSt:stable-pharo-50/source';
load
```

or

- Load it using the Catalog Browser

## Pharo 4

- Open a Playground and evaluate:

```smalltalk
Metacello new
baseline: 'RenoirSt';
repository: 'github://ba-st/RenoirSt:stable-pharo-40/source';
load
```

or

- Load it using the Configuration Browser

## Pharo 3 (this version is stalled at 1.4.0)

- Load it using the Configuration Browser

or

- Open a workspace and evaluate:

```smalltalk
Gofer it
url: 'http://smalltalkhub.com/mc/gcotelli/RenoirSt/main';
configurationOf: 'RenoirSt';
loadStable
```
42 changes: 42 additions & 0 deletions docs/how-to/how-to-use-as-dependency-in-pharo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# How to use RenoirSt as dependency in a Pharo product

In order to include **RenoirSt** as part of your project, you should reference
the package in your product baseline:

1. Define the RenoirSt repository and version to be used, and the [baseline groups](../reference/Baseline-groups.md)
you want to depend on (usually it will be `Deployment`).

If you're unsure on what to depend use the *Dependency Analyzer*
tool to choose an appropriate group including the packages you need.

2. Create a method like this one in the baseline class of your product:

```smalltalk
setUpDependencies: spec
spec
baseline: 'RenoirSt'
with: [ spec repository: 'github://github://ba-st/RenoirSt:v{XX}' ];
project: 'RenoirSt-Deployment'
copyFrom: 'RenoirSt' with: [ spec loads: 'Deployment' ]
```
This will create `RenoirSt-Deployment` as a valid target that can be used
as requirement in your own packages.
> Replace `{XX}` with the version you want to depend on
3. Use the new loading target as a requirement on your packages. For example:
```smalltalk
baseline: spec
<baseline>
spec
for: #pharo
do: [
self setUpDependencies: spec.
spec
package: 'My-Package'
with: [ spec requires: #('RenoirSt-Deployment') ] ]
```
16 changes: 16 additions & 0 deletions docs/reference/Baseline-groups.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Baseline Groups

RenoirSt includes the following groups in its Baseline that can be used as
loading targets:

- `Deployment` will load all the packages needed in a deployed application
- `Tests` will load the test cases
- `Tools` will load the extensions to the SUnit framework and development tools
(inspector and spotter extensions)
- `CI` is the group loaded in the continuous integration setup
- `Development` will load all the needed packages to develop and contribute to
the project
- `Deployment-Seaside-Extensions` will load all the packages needed in a deployed
application including the Javascript extensions
- `Development-Seaside-Extensions` will load all the needed packages to develop
and contribute to the project including the Javascript extensions
Loading

0 comments on commit 8cf3595

Please sign in to comment.