You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looking to contribute something to [json-fortran](README.md)? **Here's how you can help.**
4
+
5
+
## Key Branches
6
+
7
+
-`master` is the latest, development version and all efforts should be made to keep it stable.
8
+
9
+
## Filing issues
10
+
11
+
- Before filing a new [issue](https://github.com/jacobwilliams/json-fortran/issues), please perform a search to see if that issue has already been filed by someone else, and whether or not a solution exists. If you are experiencing the same issue as one that's already posted, please leave any additional comments and information under the existing issue. If your issue is related to a previous issue, but substantively different, file a new issue and include a mention of the related issue in text, using GitHub's `#<issue-number>` syntax.
12
+
- When filing an issue please try to include all of the following information
13
+
1. Problem description: What behavior are you seeing that you think is erroneous
14
+
1. Installation method: Did you build the code with one of the included build scripts? Some other way? Install from a binary package?
15
+
1. What type of system you are on: E.g., 64 bit Intel Mac OS X 10.10.2 (Yosemite) or x86_64 Ubuntu 14.04 LTS (Trusty Tahr)
16
+
1. If applicable, what compiler you used, and any non-standard options or configurations that were used.
17
+
1. All steps required to reproduce the problem
18
+
19
+
## Outstanding Work
20
+
21
+
- Take a look at the [issues](https://github.com/jacobwilliams/json-fortran/issues) to see if there is an issue you'd like to help address. [Issues](https://github.com/jacobwilliams/json-fortran/issues) with the [ready label](https://github.com/jacobwilliams/json-fortran/issues?q=is%3Aopen+is%3Aissue+label%3A%22ready%22) or in the [ready column on waffle.io](https://waffle.io/jacobwilliams/json-fortran) are issues that are ready to be dealt with. (i.e., They are not blocked by other dependencies and are higher priority.)
22
+
23
+
## Pull Requests
24
+
25
+
- Try not to pollute your pull request with unintended changes--keep them simple and small
26
+
- Pull requests should address one issue at a time, and each commit should be a set of self contained, related changes. If you forget something in a commit, please use `git rebase -i <ref>^` to amend and/or squash erroneous commits. Here `<ref>` is the reference to to oldest commit needing to be modified (SHA, or `HEAD~4`, etc.)
27
+
- Each commit should compile, and ideally pass the tests. Very complicated new features or fixes, may have commits that don't pass tests, if otherwise the commit history would include far to many changes in any given commit. Use an interactive rebase to fix any of these issues, as described above.
28
+
- Pull requests should always be based on the upstream master, jacobwilliams/json-fortran:master. Please `rebase` your branch on top of the latest upstream master. Assuming you've added the upstream remote by running something like:
- Create a branch in your fork with a descriptive name that also includes the [issue number](https://github.com/jacobwilliams/json-fortran/issues), if applicable. For example, after forking the repo, you can run something like `git checkout -b Unicode-support-issue-35` before starting work on [issue #35 : Unicode support](https://github.com/jacobwilliams/json-fortran/issues/35)
37
+
- When you're content with your changes, your commits are clean, self contained, with concise descriptive messages, and your changes compile and pass the tests, submit a pull request. We will review your changes, and may ask for certain modifications to be made.
38
+
- Pull requests are tested by our [travis-ci](https://travis-ci.org/jacobwilliams/json-fortran) continuous integration system, and any errors uncovered will need to be fixed before the pull request can be merged into master.
39
+
40
+
## Coding Standards
41
+
42
+
- Each commit should address a single logical change and code base transformation.
43
+
- Each commit **must** compile.
44
+
- Each commit should pass the tests unless the feature being implemented or bug being fixed requires extensive changes that would result in a commit with too many different changes.
45
+
- No extraneous white spaces are allowed to be introduced at line endings and all non binary files should end with a single new line. Run `git config core.whitespace trailing-space,space-before-tab,blank-at-eol,blank-at-eof` to setup the whitespace rules from within your fork, and then check for white space errors with `git diff --check` to see if you have accidentally introduced white space errors before committing. (You can also enable the sample `pre-commit` hook that ships with git, to prevent you from committing changes that introduce white space errors. See [this stackoverflow question](http://stackoverflow.com/questions/591923/make-git-automatically-remove-trailing-whitespace-before-committing/28446440)) for some tips on preventing the introduction of whitespace errors.
46
+
- Please adhere to the code indentation and formatting as it currently exists, aligning common elements vertically, etc.
47
+
-*Do NOT* allow your editor to make a bunch of indentation or white space changes, that will introduce non-substantive changes on lines that you have not actually edited.
[](https://waffle.io/jacobwilliams/json-fortran)
10
+
[](https://github.com/jacobwilliams/json-fortran/#contributing-)
An easy-to-use API for reading and writing JSON files, written in
17
18
modern Fortran. The source code is a single Fortran module file ([json_module.f90](https://github.com/jacobwilliams/json-fortran/blob/master/src/json_module.f90)).
Download the official versioned releases [here](https://github.com/jacobwilliams/json-fortran/releases). Or, get the latest development code from the master branch [here](https://github.com/jacobwilliams/json-fortran.git).
@@ -26,7 +27,7 @@ Building the library
26
27
27
28
The code requires a Fortran compiler that supports
28
29
various Fortran 2003 and Fortran 2008 features such as: allocatable
29
-
strings, newunit, generic, class, and abstract interface.
30
+
strings, `newunit`, `generic`, `class`, and `abstract interface`.
30
31
It has been successfully compiled with the [Intel Fortran compiler
31
32
13.1.0](https://software.intel.com/en-us/non-commercial-software-development) (and greater) and the recent [4.9 release of the GNU gfortran
@@ -38,7 +39,7 @@ Currently, several ways are provided to build the jsonfortran library
38
39
39
40
* A [Visual Studio](http://www.visualstudio.com) project is included for building the library (and example program) on Windows with the Intel Fortran Compiler. The project has been tested with Visual Studio 2010 and 2013.
40
41
41
-
* An [SCons](http://www.scons.org)`SConstruct` file. The library and example program are built by typing `scons` and installed by `scons install` or `sudo scons install`.
42
+
* An [SCons](http://www.scons.org)`SConstruct` file. The library and example program are built by typing `scons` and installed by `scons install` or `sudo scons install`.
42
43
43
44
* Additionally, a [CMake](http://www.cmake.org) build
44
45
system is provided. This build system has been tested on Mac and Linux
@@ -130,7 +131,7 @@ To print the JSON file (either to a file or the console), the ```print_file``` m
130
131
131
132
```fortran
132
133
call json%print_file() !prints to the console
133
-
call json%print_file(iunit) !prints to the file connnected to iunit
134
+
call json%print_file(iunit) !prints to the file connected to iunit
134
135
```
135
136
136
137
Building a JSON file from scratch
@@ -142,7 +143,7 @@ of ```json_value``` pointers. See the json_example.f90 file for more examples.
@@ -211,12 +212,15 @@ The code above produces the file:
211
212
Documentation
212
213
--------------
213
214
214
-
The API documentation for the latest release version can be found [here](http://jacobwilliams.github.io/json-fortran). The documentation can also be generated by processing the source files with [RoboDoc](http://rfsber.home.xs4all.nl/Robo/). Note that both the shell script, CMake, and SCons will also generate these files automatically in the documentation folder, assuming you have RoboDoc installed.
215
+
The API documentation for the latest release version can be found [here](http://jacobwilliams.github.io/json-fortran). The documentation can also be generated by processing the source files with [RoboDoc](http://rfsber.home.xs4all.nl/Robo/). Note that both the shell script, CMake, and SCons will also generate these files automatically in the documentation folder, assuming you have RoboDoc installed.
216
+
217
+
Contributing [](CONTRIBUTING.md)
218
+
------------
219
+
Want to help? Take a quick look at our [contributing guidelines](CONTRIBUTING.md) then claim something in [the "ready" column on our Waffle.io](https://waffle.io/jacobwilliams/json-fortran) and [Fork. Commit. Pull request.](https://help.github.com/articles/fork-a-repo).
215
220
216
221
License
217
222
--------
218
-
219
-
The json-fortran sourcecode and related files and documentation are distributed under a permissive free software license (BSD-style). See the [LICENSE](https://raw.githubusercontent.com/jacobwilliams/json-fortran/master/LICENSE) file for more details.
223
+
The json-fortran source code and related files and documentation are distributed under a permissive free software license (BSD-style). See the [LICENSE](https://raw.githubusercontent.com/jacobwilliams/json-fortran/master/LICENSE) file for more details.
0 commit comments