Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
frama-c
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
frama-c
Commits
5e22c312
Commit
5e22c312
authored
7 years ago
by
Andre Maroneze
Committed by
Virgile Prevosto
5 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Initial version of a CONTRIBUTING file
parent
5440e540
No related branches found
Branches containing commit
No related tags found
1 merge request
!1
CONTRIBUTING file
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
CONTRIBUTING.md
+78
-0
78 additions, 0 deletions
CONTRIBUTING.md
with
78 additions
and
0 deletions
CONTRIBUTING.md
0 → 100644
+
78
−
0
View file @
5e22c312
Contributing to Frama-C
=======================
There are several ways to contribute to Frama-C:
-
Reporting bugs (via
[
Github
](
https://github.com/Frama-C/Frama-C-snapshot
)
)
or the
[
Mantis BTS
](
https://bts.frama-c.com
)
;
-
[
Developing your own plug-in
](
http://frama-c.com/download/frama-c-plugin-development-guide.pdf
)
and sharing it with us;
-
Asking questions and discussing in
[
StackOverflow
](
https://stackoverflow.com/tags/frama-c
)
and in
the
[
Frama-C-discuss mailing list
](
https://lists.gforge.inria.fr/mailman/listinfo/frama-c-discuss
)
;
-
Submitting fixes and improvements via Github pull requests;
-
Joining the
[
team
](
http://frama-c.com/about.html
)
(
via
internships, postdocs, open positions).
Contributed patches
===================
Main Frama-C development happens outside Github. By default, patches are
applied upstream and only release candidate and stable releases are pushed
to Github.
Therefore, non-trivial pull requests would be better served by creating a
branch and notifying Frama-C developers. If the patches are accepted, the
branch will be available on Github until the next Frama-C release incorporates
it.
Note that, in the case of bug fixes, it would be ideal to add test cases
to the appropriate subdirectory in
`tests`
. The plug-in developer manual
includes a section on the
`ptests`
tool used by Frama-C developers
(or you can provide the test case on a Github discussion and we will
integrate it).
Coding conventions
==================
-
Use
[
ocp-indent
](
https://github.com/OCamlPro/ocp-indent
)
to indent files;
-
Avoid trailing whitespaces;
-
Avoid using tabs;
-
Strive to keep within 80 characters per line.
Note that many files are not normalized, since they were written before these
conventions were established. However, modified code that touches lines that
are not normalized should be normalized (e.g., if you modify a line containing
trailing whitespace, remove it in your commit). Avoid commits that only
re-indent/prettify code.
External plug-ins
=================
Frama-C plug-ins normally do not require changes to the Frama-C source code and
can be developed completely independently, for instance in a dedicated Git
repository.
However, to make it easier for your users to compile and use your plug-in, even
as newer releases are made available, we recommend the following workflow:
1.
Clone the Frama-C snapshot repository;
2.
Put your plugin in the
`src/plugins`
directory, with appropriate
`configure.ac`
and
`Makefile.in`
files;
3.
Upload it to Github.
This will ensure that (1) the version of Frama-C that is available with your
plug-in is guaranteed to compile and work, independently of API changes;
(2) updating your plug-in will only require synchronizing with the
Frama-C snapshot repository.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment