(Created page with "= Guidelines for creating a new framework = If you are creating a new framework, this checklist can help you get it done correctly: * If it is created by splitting code from ...")
 
(fix CI URL)
 
(16 intermediate revisions by 5 users not shown)
Line 2: Line 2:
  
 
If you are creating a new framework, this checklist can help you get it done correctly:
 
If you are creating a new framework, this checklist can help you get it done correctly:
* If it is created by splitting code from an existing repository, the new repository should be created by using a script to create a graft point;
 
* Run astyle-kdelibs;
 
 
* Make sure it follows all the [[Frameworks/Policies|active policies]]
 
* Make sure it follows all the [[Frameworks/Policies|active policies]]
* Adjust kde-build-metadata
+
* The above includes many important things, make sure to read all of it. E.g. it includes the often forgotten [[Frameworks/Frameworks_Localization_Policy#KI18n_installation_code|rule for installing translations]]
* Get the job set up on build.kde.org
+
* If it is created by splitting code from an existing repository, the new repository should be created by using a script to create a graft point
* Ensure it is green
+
* Run astyle-kdelibs or uncrustify-kf5 (both are part of kde-dev-scripts)
* Add a new component for it on bugs.kde.org
+
* Ensure the module doesn't depend on deprecated or "portingAid" frameworks like kdelibs4support
* Add the repository to reviewboard.kde.org (by asking the sysadmins)
+
* Ensure the module is in frameworks on projects.kde.org (the source information is in the repo kde:sysadmin/repo-metadata), otherwise ask for it to be moved there (https://go.kde.org/systickets)
 +
* Adjust kde:kde-build-metadata - in particular, add it to the deps for frameworks/kf5umbrella
 +
* Get the CI jobs set up
 +
** Get the job set up on build.kde.org by filing a task towards https://phabricator.kde.org/tag/build.kde.org/
 +
** Make sure to request it to be added to the relevant view: https://build.kde.org/job/Frameworks/
 +
** Ensure it is green
 +
* Add a new product for it on bugs.kde.org, which must be called frameworks-<name>
 +
* Create a README.md file
 +
* Finally when it's all ready, change the yaml file to say release: true. The release scripts will then pick it up automatically for the next KF release.
 +
 
 +
== Template ==
 +
 
 +
The [http://quickgit.kde.org/?p=kdeexamples.git&a=tree&f=framework-template framework-template] directory in the kdeexamples repository has a setup.sh script that generates a helpful skeleton framework that is a good starting point for creating a framework.  For example, if you were creating the KConfig framework, you might run<syntaxhighlight lang="bash">
 +
./setup.sh KConfig ../../kconfig
 +
</syntaxhighlight>
 +
then go to the newly created "kconfig" directory and start adding source files etc.

Latest revision as of 22:14, 2 December 2019

Guidelines for creating a new framework

If you are creating a new framework, this checklist can help you get it done correctly:

  • Make sure it follows all the active policies
  • The above includes many important things, make sure to read all of it. E.g. it includes the often forgotten rule for installing translations
  • If it is created by splitting code from an existing repository, the new repository should be created by using a script to create a graft point
  • Run astyle-kdelibs or uncrustify-kf5 (both are part of kde-dev-scripts)
  • Ensure the module doesn't depend on deprecated or "portingAid" frameworks like kdelibs4support
  • Ensure the module is in frameworks on projects.kde.org (the source information is in the repo kde:sysadmin/repo-metadata), otherwise ask for it to be moved there (https://go.kde.org/systickets)
  • Adjust kde:kde-build-metadata - in particular, add it to the deps for frameworks/kf5umbrella
  • Get the CI jobs set up
  • Add a new product for it on bugs.kde.org, which must be called frameworks-<name>
  • Create a README.md file
  • Finally when it's all ready, change the yaml file to say release: true. The release scripts will then pick it up automatically for the next KF release.

Template

The framework-template directory in the kdeexamples repository has a setup.sh script that generates a helpful skeleton framework that is a good starting point for creating a framework. For example, if you were creating the KConfig framework, you might run

./setup.sh KConfig ../../kconfig

then go to the newly created "kconfig" directory and start adding source files etc.


This page was last edited on 2 December 2019, at 22:14. Content is available under Creative Commons License SA 4.0 unless otherwise noted.