Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Native Package Names and Directory Structure #1623

Closed
38 tasks done
ThisaruGuruge opened this issue Jul 8, 2021 · 1 comment
Closed
38 tasks done

Update Native Package Names and Directory Structure #1623

ThisaruGuruge opened this issue Jul 8, 2021 · 1 comment
Labels
Area/Build Issues related to stdlib releases and build process Type/Task

Comments

@ThisaruGuruge
Copy link
Member

ThisaruGuruge commented Jul 8, 2021

Description:
Currently, some of the Standard Library packages are using org.ballerinalang.stdlib.<package_name> package prefix, while some are using org.ballerinalang.<package_name>, and some are using io.ballerina.stdlib.<package_name>.

These package names must align with each other and comply with the common convention. The convention is to use io.ballerina.stdlib.<package_name>.

Along with this, the artifact group name (defined in the gradle.properties file, under the group field) should also be updated. Currently, almost all the Standard Library modules are using the org.ballerinalang as the group name. This should be changed to io.ballerina.stdlib.

Along with these two tasks, the directory naming is also should be updated, as per the #1619

The idea is to remove the package name from the submodule directories, as follows:

  • io-native -> native
  • io-ballerina -> ballerina

Steps:

  1. Rename the directories and update the settings.gradle. Gradle plugin version must be bumped to 0.10.0
  2. Replace build-config:checkstyle with checkstyle, and change the downloadMultipleFiles task to downloadCheckstyleRuleFiles.
  3. Change the group in gradle.properties to io.ballerina.stdlib
  4. Change the native package name prefix to io.ballerina.stdlib.<ballerina_package_name>
  5. Change Ballerina.toml (and other toml files) to pick the jars from the correct location
  6. Remove the Archive Error Log step from the pull-request.yml and the build-timestamped-master.yml files.
  7. If there are dependencies on other ballerina modules, update them in the ./build.gradle file as follows:
    ballerinaStdLibs "org.ballerinalang:auth-ballerina:${stdlibAuthVersion}"
    to
    ballerinaStdLibs "io.ballerina.stdlib:auth-ballerina:${stdlibAuthVersion}"

Let's update the list once this task is completed.

Level 1

  • io
  • java.arrays
  • random
  • regex
  • time
  • url
  • xmldata

Level 2

  • crypto
  • log
  • os
  • task
  • xslt

Level 3

  • cache
  • file
  • ftp
  • mime
  • nats
  • stan
  • tcp
  • udp
  • uuid

Level 4

  • auth
  • email
  • jwt
  • oauth2

Level 5

  • http

Level 6

  • graphql
  • grpc
  • websocket
  • websub
  • websubhub

Level 7

  • kafka
  • rabbitmq
  • sql

Level 8

  • java.jdbc
  • mysql
  • postgresql
  • mssql
@ThisaruGuruge ThisaruGuruge added Type/Task Area/Build Issues related to stdlib releases and build process labels Jul 8, 2021
@ThisaruGuruge
Copy link
Member Author

Closing since all the modules completed this task

@chamil321 chamil321 added this to the Swan Lake Beta3 milestone Jul 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area/Build Issues related to stdlib releases and build process Type/Task
Projects
None yet
Development

No branches or pull requests

2 participants