{"id":20880317,"url":"https://github.com/lexml/lexml-urn-formatter","last_synced_at":"2025-05-12T16:32:08.812Z","repository":{"id":16645896,"uuid":"80380366","full_name":"lexml/lexml-urn-formatter","owner":"lexml","description":"Formata URN em rótulos","archived":false,"fork":false,"pushed_at":"2024-08-27T01:30:31.000Z","size":386,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-01T08:22:20.399Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lexml.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-29T23:29:12.000Z","updated_at":"2025-03-21T19:08:16.000Z","dependencies_parsed_at":"2024-08-27T02:37:29.469Z","dependency_job_id":"0c31fbc3-c6f5-40d7-a678-8d9a44b5f35c","html_url":"https://github.com/lexml/lexml-urn-formatter","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexml%2Flexml-urn-formatter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexml%2Flexml-urn-formatter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexml%2Flexml-urn-formatter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexml%2Flexml-urn-formatter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lexml","download_url":"https://codeload.github.com/lexml/lexml-urn-formatter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253776954,"owners_count":21962601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T07:19:54.553Z","updated_at":"2025-05-12T16:32:08.308Z","avatar_url":"https://github.com/lexml.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API de renderização de rótulos a partir de URN\n\nRequisitos da API de renderização de rótulos a partir de URN.\n\nReferências de implementação em:\n- `lexml-parser-projeto-lei`: https://github.com/lexml/lexml-parser-projeto-lei/blob/master/src/main/scala/br/gov/lexml/parser/pl/rotulo/rotuloParser.scala\n- `lexml-parser-projeto-lei`: https://github.com/lexml/lexml-parser-projeto-lei/blob/master/src/main/scala/br/gov/lexml/parser/pl/output/LexmlRenderer.scala#L20\n- `lexml-parser-projeto-lei-ws`: https://github.com/lexml/lexml-parser-projeto-lei-ws/blob/master/src/main/scala/br/gov/lexml/parser/pl/ws/tasks/FragmentFormatter.scala\n\nA URN dos dispositivos contém informação suficiente para gerar os rótulos de normas. \n\n\n## Compilação Scala\n\nScala precisa ser compilado com Java 8.\n\nFirst run `/usr/libexec/java_home -V` which will output something like the following:\n\n```sh\n% /usr/libexec/java_home -V\nMatching Java Virtual Machines (2):\n    11.0.4, x86_64:\t\"AdoptOpenJDK 11\"\t/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home\n    1.8.0_232, x86_64:\t\"AdoptOpenJDK 8\"\t/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home\n```\n\nThen, use \n\n```sh\nexport JAVA_HOME=`/usr/libexec/java_home -v 1.8`\n```\n\nNow when you run `java -version` you will see the version 1.8.\n\n\n## Rótulo de Artigo\n\n### artN \n\n- `Se N = \"1u\"`, deve-se gerar \"Art. único.\" (acho que esse caso não ocorre com o nosso atual acervo)\n- `Se N \u003c 10`, deve-se gerar \"Art. 2º\"  (com o símbolo de ordinal, sem ponto)\n- `Se N \u003e 9`, deve-se gerar  \"Art. 12.\" (sem o símbolo de ordinal, com ponto)`\n\n### artN-M\n\nRegra geral (válida também para qualquer dispositivo ou agrupador de artigo): se qualquer número vier seguido de hífen e de um número adicional, deve-se concatenar ao número existente no rótulo um hífen e a letra maiúscula considerando que a letra A corresponde ao número 1. \n\nPode acontecer  artN-M-Z. E também o número pode ser maior do que 26. Nesse caso, deve-se recomeçar adicionando letras adicionais, pois a base do número é 26. \n\n- Por exemplo, `art1-27` = \"Art. 1º-AA\"\n- Por exemplo, `art2-28` = \"Art. 1º-AB\"\n\n## Rótulo de Dispositivos de artigos\n\n### Rótulo de caput (`artN_cpt`)\n\nO caput não possui rótulo (quem possui rótulo é o artigo). \n\nSe for necessário gerar um rótulo expandido/contextual, deve-se concatenar o do artigo com o nome ``caput``.\n\n### Rótulo de parágrafo (`artM_parN`)\n\n- `Se N = \"1u\"', deve-se gerar \"Parágrafo único.\". (acho que esse caso não ocorre com o nosso atual acervo)\n- `Se N \u003c 10', deve-se gerar \"§ 2º\"  (com o símbolo de ordinal, sem ponto)\n- `Se N \u003e 9', deve-se gerar  \"§ 12.\" (sem o símbolo de ordinal, com ponto)\n\n### Rótulo de inciso (`inc`)\n\nOs incisos são apresentados em algarismos romanos maiúsculos seguidos de branco e de um travessão curto (não é hífen) e de um branco. \n\nExemplos: \n- `art3_par2_inc3` = \"III –\";   \n\n### Rótulo de alínea (`ali`)\n\nAs alíneas são apresentadas em letras minúsculas seguidas de fecha-parêntesis.\n\nExemplos: \n- `art3_par2_inc3_ali4` = \"d)\";   \n- `art3_par2_inc3_ali5-2` = \"e-B)\".\n\n### Rótulo de Item\n\nOs itens são apresentados em números arábicos seguidos de ponto.\n\nEx: `art3_par2_inc3_ali4_ite8` = \"8.\"\n\n## Rótulo de Agrupadores de Artigo\n\n### Agrupadores Parte (`part`), Livro (`liv`), Título (`tit`), Capítulo (`cap`) \n\nEsses agrupadores são escritos em letras maiúsculas seguidos do número em algarismos romanos.\n\n- Ex: `tit2_cap3` =  \"CAPÍTULO III\"\n\n### Agrupadores  Seção (`sec`) e Subseção (`sub`) \n\nEsses agrupadores são escritos com a primeira maiúscula seguida de número romano em maiúsculas.\n\n- Ex: `cap2_sec3_sub1` = \"Subseção I\".\n\n## Regra geral\n\nSe a urn for de um bloco de alteração, vale as regras acima de acordo com o último componente.\n\n- Ex: `art3_cpt_alt1_art4_par2` = \"§ 2º\"\n- Ex: `art3_cpt_alt1_tit3` =  \"TÍTULO III\"\n\n## Release\n\nImportar chave\n\n```\ngpg --import lexml.public.key\n\ngpg --allow-secret-key-import --import lexml.secret.key\n```\n\nPara publicar uma versão no Maven central, você precisa de acesso ao repositório e configurar o acesso\nno maven. Insira o snippet abaixo - com o correto user_name e api_key - no `~/.m2/settings.xml`.\n\n```xml\n\t....\n    \u003cservers\u003e\n    ...\n        \u003cserver\u003e\n          \u003cid\u003eossrh\u003c/id\u003e\n          \u003cusername\u003eXXX\u003c/username\u003e\n          \u003cpassword\u003eXXX\u003c/password\u003e\n        \u003c/server\u003e\n      \u003c/servers\u003e\n      ...\n      \u003cprofiles\u003e\n     ...\n        \u003cprofile\u003e\n          \u003cid\u003egpg\u003c/id\u003e\n          \u003cproperties\u003e\n            \u003cgpg.executable\u003egpg2\u003c/gpg.executable\u003e\n            \u003cgpg.keyname\u003eXXXX\u003c/gpg.keyname\u003e\n            \u003cgpg.passphrase\u003eXXXX\u003c/gpg.passphrase\u003e\n          \u003c/properties\u003e\n        \u003c/profile\u003e\n      \u003c/profiles\u003e\n  ....\n  \u003cactiveProfiles\u003e\n    ...\n    \u003cactiveProfile\u003egpg\u003c/activeProfile\u003e\n  \u003c/activeProfiles\u003e\n        \n```\n\nDepois execute o comando abaixo para fazer o release do projeto:\n\n```\n    ./mvnw -Prelease release:prepare\n    ./mvnw -Prelease release:perform\n```\n\nO repositório será:\n\n```\nhttps://repo1.maven.org/maven2/br/gov/lexml/lexml-urn-formatter/\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexml%2Flexml-urn-formatter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flexml%2Flexml-urn-formatter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexml%2Flexml-urn-formatter/lists"}